Function at 0x48532e
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x4528
call fcn.004b63b0
mov eax, dword [0x78e580]
xor eax, esp
mov dword [esp + 0x4524], eax
mov edx, dword [esp + 0x4538]
and dword [esp + 0x18], 0
mov ecx, dword [esp + 0x4530]
mov eax, dword [esp + 0x4540]
push ebx
push ebp
mov ebp, dword [esp + 0x4544]
xor ebx, ebx
and dword [esp + 0x1c], ebx
and dword [esp + 0x24], ebx
and dword [esp + 0x44], ebx
and dword [esp + 8], ebx
push esi
mov esi, dword [esp + 0x4538]
push edi
xor edi, edi
mov dword [esp + 0x20], esi
inc edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edi
or edi, 0xffffffff
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
test edx, edx
je 0x48608a
test ebp, ebp
je 0x48608a
mov dword [edx], 0x64
and dword [ebp], ebx
test esi, esi
jne 0x4853d2
mov dword [edx], 0x74
jmp 0x48608a
mov edx, dword [esp + 0x4544]
test eax, eax
mov ebp, 0x549aac
cmovne ebp, eax
or edx, 0x80000
test dword [esp + 0x4544], 0x4000000
cmove edx, dword [esp + 0x4544]
mov dword [esp + 0x14], edx
test edx, 0x18000000
jne 0x486080
test dword [ebp + 0x24], 0xffffff80
jne 0x486080
mov eax, edx
and eax, 0x2000000
mov dword [esp + 0x34], eax
je 0x485446
test edx, 0x1976fef3
jne 0x485437
test dword [ebp + 0x24], 0xfffffff3
je 0x485446
mov eax, dword [esp + 0x44]
mov dword [eax], 0xc0
jmp 0x48608a
cmp ecx, edi
jne 0x48545b
push esi
call fcn.0049502d
mov edx, dword [esp + 0x18]
pop ecx
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, dword [ebp + 0x18]
jbe 0x48546f
mov eax, dword [esp + 0x44]
mov dword [eax], 0xbc
jmp 0x48608a
cmp dword [ebp + 0x14], ebx
mov eax, 0x567a60
mov dword [esp + 0x84], esi
cmovne eax, dword [ebp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x38], eax
add eax, 0x100
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
add eax, 0x200
mov dword [esp + 0x68], ebp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
add eax, 0x340
mov dword [esp + 0xd4], edx
mov dword [esp + 0x78], eax
xor eax, eax
and dword [esp + 0xdc], eax
and dword [esp + 0x120], eax
mov dword [esp + 0xc4], eax
lea eax, [ecx + esi]
mov dword [esp + 0x88], eax
xor ecx, ecx
lea eax, [esp + 0x254]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xec], eax
xor esi, esi
xor eax, eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x164]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x654]
mov dword [esp + 0xe4], eax
lea eax, [esp + 0x1654]
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], eax
mov eax, edi
lea edi, [esp + 0x94]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
push 0xa
pop ecx
mov dword [esp + 0xd0], 0x14
mov dword [esp + 0x90], 0x1770
rep stosd dword es:[edi], eax
cmp dword [esp + 0x34], ebx
jne 0x48573a
mov eax, dword [esp + 0x18]
cmp eax, 2
jb 0x48573a
mov edx, dword [esp + 0x20]
cmp byte [edx + esi], 0x28
jne 0x485736
cmp byte [edx + esi + 1], 0x2a
jne 0x485736
and dword [esp + 0x30], ebx
sub eax, esi
add eax, 0xfffffffe
mov edi, 0x78e468
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x1c], eax
movzx ecx, word [edi + 4]
cmp dword [esp + 0x34], ecx
jb 0x4855fb
push ecx
push dword [edi]
lea eax, [edx + 2]
add eax, esi
push eax
call fcn.0049503f
add esp, 0xc
test eax, eax
je 0x485615
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x30]
add eax, 0xc
add edi, 0xc
mov dword [esp + 0x1c], eax
cmp eax, 0xfc
jb 0x4855d4
jmp 0x4856fc
movzx eax, word [edi + 4]
add eax, 2
add esi, eax
movzx eax, word [edi + 6]
mov ecx, eax
mov dword [esp + 0x34], ecx
sub eax, 0
je 0x4856ee
sub eax, 1
je 0x4856e1
sub eax, 1
je 0x4856d0
sub eax, 1
je 0x4856bf
sub eax, 1
je 0x48565b
sub eax, 1
je 0x48565b
sub eax, 1
jne 0x4856f8
mov edx, dword [esp + 0x20]
xor ecx, ecx
lea edi, [edx + esi]
mov al, byte [edi]
cmp al, 0x30
jb 0x485728
cmp al, 0x39
ja 0x485728
cmp al, 0x39
ja 0x485695
cmp ecx, 0x19999998
ja 0x485695
imul ecx, ecx, 0xa
movzx eax, al
add ecx, 0xffffffd0
add ecx, eax
inc esi
mov al, byte [edx + esi]
cmp al, 0x30
jae 0x485676
mov al, byte [edx + esi]
inc esi
cmp al, 0x29
jne 0x485717
mov eax, dword [esp + 0x34]
cmp ax, 4
jne 0x4856ad
mov dword [esp + 0x58], ecx
jmp 0x4856fc
cmp ax, 5
jne 0x4856b9
mov dword [esp + 0x5c], ecx
jmp 0x4856fc
mov dword [esp + 0x60], ecx
jmp 0x4856fc
mov eax, dword [edi + 8]
or dword [esp + 0x24], 0x4000
mov dword [esp + 0x4c], eax
jmp 0x4856f8
mov eax, dword [edi + 8]
or dword [esp + 0x24], 0x8000
mov dword [esp + 0x2c], eax
jmp 0x4856f8
mov eax, dword [esp + 0x24]
or eax, dword [edi + 8]
mov dword [esp + 0x24], eax
jmp 0x4856f8
mov eax, dword [edi + 8]
or dword [esp + 0xd4], eax
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x30], 0x15
jae 0x485736
mov eax, dword [esp + 0x18]
sub eax, esi
cmp eax, 2
jb 0x485736
mov eax, dword [esp + 0x18]
jmp 0x4855a7
mov ecx, 0xa0
lea edi, [edx + esi]
mov dword [esp + 0x10], ecx
jmp 0x485943
mov ecx, 0xa0
mov dword [esp + 0x10], ecx
jmp 0x485943
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x20]
shr eax, 0x13
and eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
lea edi, [ecx + esi]
je 0x485796
test edx, 0x1000
je 0x485772
mov ecx, 0xae
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
jmp 0x485943
test edx, 0x40000000
jne 0x485796
push dword [esp + 0x64]
push eax
push ecx
call fcn.00497f1f
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x48594b
mov eax, dword [esp + 0xd4]
xor ecx, ecx
shr eax, 0x11
inc ecx
and eax, ecx
mov dword [esp + 0x30], eax
je 0x4857bf
test dword [esp + 0xd4], 0x800
je 0x4857bf
mov ecx, 0xaf
jmp 0x485765
cmp dword [esp + 0x4c], ebx
jne 0x4857cd
movzx eax, word [ebp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4857dd
movzx eax, word [ebp + 0x1e]
mov dword [esp + 0x2c], eax
and dword [esp + 0xf8], ebx
sub eax, 1
je 0x48584c
sub eax, 1
je 0x485842
sub eax, 1
je 0x48582b
sub eax, 1
je 0x485822
sub eax, 1
je 0x485815
sub eax, 1
je 0x48580c
mov ecx, 0x9c
jmp 0x485765
mov byte [esp + 0x108], bl
jmp 0x485854
mov dword [esp + 0xf8], 2
jmp 0x48585b
mov dword [esp + 0xf8], ecx
jmp 0x48585b
mov dword [esp + 0xfc], 2
mov word [esp + 0x108], 0xa0d
jmp 0x48585b
mov byte [esp + 0x108], 0xa
jmp 0x485854
mov byte [esp + 0x108], 0xd
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0x18]
sub eax, esi
test byte [ebp + 0x24], 0xc
lea ecx, [eax + 4]
cmove ecx, eax
test byte [esp + 0x14], 4
mov dword [esp + 0x1c], ecx
je 0x485880
lea eax, [ecx + 1]
imul ecx, eax, 5
mov dword [esp + 0x1c], ecx
lea esi, [ebp + 8]
cmp ecx, 0x400
jb 0x4858ba
push dword [esi]
lea eax, [ecx*4 + 4]
push eax
call dword [ebp]
pop ecx
pop ecx
test eax, eax
jne 0x4858ad
mov eax, dword [esp + 0x44]
mov dword [eax], 0x79
jmp 0x48595d
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xe4], eax
jmp 0x4858c1
mov eax, dword [esp + 0xe4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x34], esi
add eax, 4
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0xdc]
push edi
call fcn.004824c9
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x485936
mov eax, dword [esp + 0xdc]
cmp eax, 0x100
jb 0x4859c1
push dword [esi]
lea eax, [eax*4 + 4]
push eax
call dword [ebp]
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0xec], ecx
test ecx, ecx
jne 0x4859b8
and dword [esp + 0xbc], ebx
push 0x79
pop ecx
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0xbc]
mov edx, dword [esp + 0x20]
add edi, edx
mov eax, dword [esp + 0x64]
sub edi, edx
mov dword [eax], edi
mov eax, dword [esp + 0x44]
push ebx
mov dword [eax], ecx
call fcn.004852ee
pop ecx
xor ebx, ebx
lea esi, [ebp + 8]
lea eax, [esp + 0x654]
cmp dword [esp + 0xe4], eax
je 0x48597b
push dword [esi]
push dword [esp + 0xe8]
call dword [ebp + 4]
pop ecx
pop ecx
cmp dword [esp + 0xd0], 0x14
jbe 0x485993
push dword [esi]
push dword [esp + 0xd0]
call dword [ebp + 4]
pop ecx
pop ecx
lea eax, [esp + 0x254]
cmp dword [esp + 0xec], eax
je 0x4859b1
push dword [esi]
push dword [esp + 0xf0]
call dword [ebp + 4]
pop ecx
pop ecx
mov eax, ebx
jmp 0x48608c
mov eax, dword [esp + 0xdc]
jmp 0x4859c8
mov ecx, dword [esp + 0xec]
lea eax, [eax*4 + 4]
push eax
push 0
push ecx
call fcn.004b6f20
add esp, 0xc
cmp dword [esp + 0x28], ebx
je 0x485a10
lea eax, [esp + 0x54]
xor ecx, ecx
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x58], ecx
push eax
push ecx
push ecx
push dword [esp + 0xf4]
call fcn.0047db4a
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x485936
mov eax, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1654]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x6c]
mov byte [esp + 0x1658], 0x86
push eax
push 0
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x6c]
push eax
push 0
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x100]
call fcn.00480d21
mov ecx, dword [esp + 0x40]
add esp, 0x30
test ecx, ecx
jne 0x485936
mov edx, dword [esp + 0x3c]
cmp edx, 0x10000
jbe 0x485a9d
push 0x78
pop ecx
mov dword [esp + 0x10], ecx
jmp 0x485936
movzx ecx, word [esp + 0xc0]
add edx, 0x70
movzx eax, word [esp + 0xc2]
push dword [esi]
imul eax, ecx
add eax, edx
push eax
mov dword [esp + 0x24], eax
call dword [ebp]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x485acb
push 0x79
jmp 0x485a93
push 8
lea eax, [ebx + 0x68]
push 0
push eax
call fcn.004b6f20
mov eax, dword [esp + 0x44]
mov esi, ebp
mov edi, ebx
push 0x20
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ebx + 0x10], 0
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x14]
push eax
call fcn.004b6f20
mov eax, dword [esp + 0x34]
add esp, 0x18
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x38], 0x50435245
mov eax, dword [esp + 0xd4]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp + 0x24]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0xd8]
or eax, dword [esp + 0x24]
and dword [ebx + 0x58], 0
or eax, 1
and dword [ebx + 0x5c], 0
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x4c]
mov word [ebx + 0x60], ax
mov eax, dword [esp + 0x2c]
mov word [ebx + 0x62], ax
xor eax, eax
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], eax
mov ax, word [esp + 0xc2]
mov word [ebx + 0x6c], ax
movzx edx, ax
mov ax, word [esp + 0xc0]
mov word [ebx + 0x6e], ax
movzx ecx, ax
xor eax, eax
imul ecx, edx
xor edx, edx
mov dword [esp + 0xc4], eax
lea eax, [ebx + 0x70]
mov dword [esp + 0x8c], eax
mov ax, word [esp + 0xc0]
mov dword [esp + 0xe0], edx
add ecx, 0x70
mov dword [esp + 0x10c], edx
add ecx, ebx
mov dword [esp + 0x114], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x118], edx
mov dword [esp + 0xc8], edx
test ax, ax
je 0x485c1a
mov edi, edx
cmp dx, ax
jae 0x485c18
mov esi, dword [esp + 0xcc]
add esi, 8
movzx eax, word [esi]
push edi
push dword [esi - 4]
push eax
push dword [esi - 8]
lea eax, [esp + 0x78]
push eax
call fcn.0047d762
movzx eax, word [esp + 0xd4]
lea esi, [esi + 0xc]
add esp, 0x14
inc edi
cmp edi, eax
jb 0x485bec
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0xe4]
push edx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x6c]
push eax
push edx
lea eax, [esp + 0x5c]
mov byte [ecx], 0x86
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x38], ecx
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x6c]
push eax
push edx
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push eax
push dword [ebx + 0x40]
call fcn.00480d21
add esp, 0x30
test eax, eax
jns 0x485c6d
or dword [ebx + 0x48], 0x2000
mov ax, word [esp + 0xdc]
mov word [ebx + 0x68], ax
mov ax, word [esp + 0xf0]
mov word [ebx + 0x6a], ax
mov ax, word [esp + 0x110]
mov word [ebx + 0x64], ax
cmp dword [esp + 0x114], 0
je 0x485cae
xor edx, edx
mov dword [esp + 0x2c], 0xfffffffe
or dword [ebx + 0x48], 0x800000
jmp 0x485cba
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
mov byte [eax], 0
sub eax, edx
inc eax
cmp eax, ecx
jbe 0x485cdb
push 0x7b
jmp 0x485a93
sub eax, ecx
add dword [ebx + 0x34], eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x485936
cmp dword [esp + 0x11c], ecx
je 0x485e12
and dword [esp + 0x38], ecx
push 8
pop edi
push dword [esp + 0x40]
push edx
call fcn.004812e1
mov dword [esp + 0x50], eax
pop ecx
pop ecx
test eax, eax
je 0x485e0e
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
mov esi, dword [esp + 0x14]
shl edx, 8
or edx, eax
mov dword [esp + 0x50], edx
jne 0x485d36
mov ecx, esi
jmp 0x485dc7
and dword [esp + 0x3c], 0
mov ecx, edi
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
test eax, eax
je 0x485d88
cmp edx, dword [esp + ecx*8 + 0x128]
je 0x485d77
jle 0x485d63
mov esi, dword [esp + ecx*8 + 0x124]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x14]
inc dword [esp + 0x3c]
inc ecx
and ecx, 7
cmp dword [esp + 0x3c], eax
jb 0x485d49
mov eax, dword [esp + 0x1c]
jmp 0x485d8a
mov ecx, dword [esp + ecx*8 + 0x124]
mov eax, dword [esp + 0x1c]
test ecx, ecx
jne 0x485dc7
jmp 0x485d8a
mov eax, esi
push edx
push dword [esp + 0x44]
push eax
call fcn.00496521
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x485dfd
sub edi, 1
push 7
pop eax
cmovs edi, eax
mov eax, dword [esp + 0x50]
mov dword [esp + edi*8 + 0x128], eax
mov eax, dword [esp + 0x38]
mov dword [esp + edi*8 + 0x124], ecx
cmp eax, 8
jae 0x485dc7
inc eax
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x48]
mov eax, ecx
push dword [esp + 0x40]
sub cl, byte [esp + 0x18]
sub eax, esi
sar eax, 8
mov byte [edx + 1], al
lea eax, [edx + 3]
push eax
mov byte [edx + 2], cl
call fcn.004812e1
mov dword [esp + 0x50], eax
pop ecx
pop ecx
test eax, eax
jne 0x485d18
mov ecx, dword [esp + 0x10]
jmp 0x485e06
mov ecx, 0x99
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x485936
mov edx, dword [esp + 0x14]
test dword [ebx + 0x40], 0x4000
jne 0x485e42
lea eax, [esp + 0x68]
push eax
push edx
call fcn.0049506d
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
test eax, eax
mov edx, 0xb4
cmovne ecx, edx
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x485936
mov esi, dword [ebx + 0x40]
mov edi, esi
test esi, esi
js 0x485e6e
xor ecx, ecx
lea eax, [esp + 0x68]
push ecx
push ecx
push eax
push ecx
push dword [esp + 0x24]
call fcn.004820f9
add esp, 0x14
test eax, eax
je 0x485e6e
or edi, 0x80000000
mov dword [ebx + 0x40], edi
mov esi, dword [esp + 0x34]
test edi, 0x10000
jne 0x48595d
mov eax, dword [esp + 0x18]
xor edi, edi
cmp eax, 0xfffffffe
jb 0x485ee5
push edi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
call fcn.0048117c
mov edx, eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edx
cmp eax, 0xfffffffe
jb 0x485eed
xor ecx, ecx
cmp dword [ebx + 0x40], ecx
jl 0x485f7e
push ecx
push ecx
lea eax, [esp + 0x70]
push eax
push ecx
push dword [esp + 0x24]
call fcn.00482254
mov edx, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
mov eax, dword [esp + 0x18]
je 0x485f7e
or dword [ebx + 0x48], 0x200
jmp 0x485f7e
mov edx, dword [esp + 0x54]
mov dword [esp + 0x28], edx
mov esi, dword [ebx + 0x48]
xor edi, edi
or esi, 0x10
mov dword [ebx + 0x58], edx
inc edi
mov dword [ebx + 0x48], esi
test al, 1
je 0x485f7e
cmp edx, 0x80
jb 0x485f68
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x485f1e
cmp dword [esp + 0x30], ecx
jne 0x485f25
cmp edx, 0xff
jb 0x485f68
cmp dword [esp + 0x30], 0
je 0x485f7e
test ecx, ecx
jne 0x485f7e
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [esp + 0x28]
sar eax, 7
movzx ecx, word [eax*2 + 0x550a58]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x485f51
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x554e58]
imul eax, eax, 0xc
mov eax, dword [eax + 0x54c84c]
add eax, edx
jmp 0x485f70
mov eax, dword [esp + 0x70]
movzx eax, byte [edx + eax]
cmp eax, edx
mov eax, dword [esp + 0x18]
je 0x485f7e
or esi, 0x20
mov dword [ebx + 0x48], esi
cmp dword [esp + 0x2c], 0xfffffffe
jae 0x486042
test dword [ebx + 0x40], 0x80000
mov ecx, dword [esp + 0x24]
je 0x485fa1
cmp eax, 0xfffffffe
jae 0x485fa1
and edx, ecx
test dl, dl
js 0x485fa2
inc edi
cmp dword [ebx + 0x40], 0
mov eax, dword [esp + 0x2c]
jge 0x485fb4
test al, 2
je 0x486042
mov esi, dword [ebx + 0x48]
mov edx, 0x80
or esi, edx
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x48], esi
test al, 1
je 0x486042
cmp ecx, edx
jb 0x48602d
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
test eax, eax
jne 0x485fe4
test edx, edx
jne 0x485fe8
cmp ecx, 0xff
jb 0x48602d
test edx, edx
je 0x486042
test eax, eax
jne 0x486042
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [esp + 0x24]
sar eax, 7
movzx ecx, word [eax*2 + 0x550a58]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x486014
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x554e58]
imul eax, eax, 0xc
mov eax, dword [eax + 0x54c84c]
add eax, edx
cmp eax, edx
jmp 0x486037
mov eax, dword [esp + 0x70]
movzx eax, byte [ecx + eax]
cmp eax, ecx
je 0x486042
or esi, 0x100
mov dword [ebx + 0x48], esi
push ebx
call fcn.00496a12
pop ecx
test eax, eax
je 0x486057
mov ecx, 0x83
jmp 0x485a94
test byte [ebx + 0x48], 0x40
je 0x486065
push 1
test edi, edi
pop eax
cmove edi, eax
movzx eax, word [ebx + 0x66]
mov ecx, dword [esp + 0x34]
mov esi, ecx
cmp eax, edi
jae 0x48595d
mov word [ebx + 0x66], di
jmp 0x48595d
mov eax, dword [esp + 0x44]
mov dword [eax], 0x75
xor eax, eax
mov ecx, dword [esp + 0x4534]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b5ec4
add esp, 0x4528
ret