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

Disassembly:
mov ecx, dword [0x5b96c8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x4b0901
sub esp, 0xb4
mov eax, dword [esp + 0xb8]
mov dword [eax + 0xc], 0
lea ecx, [0x4cfd40]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edx
call fcn.00409880
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4b0156
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x4afca8
mov eax, dword [eax + 8]
cmp eax, 0x6e78e923
ja 0x4af98d
cmp eax, 0x43cfbb1f
ja 0x4af7c1
cmp eax, 0x338a7ec0
jbe 0x4af716
cmp eax, 0x4072c7d5
jne 0x4af68a
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8620]
cmp eax, ecx
jne 0x4afca8
nop
mov eax, dword [esp + 0xbc]
xor ecx, ecx
jmp 0x4b075f
cmp eax, 0x43cfbb1f
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4ca360]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.004aeab0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00452210
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xc4]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x5b97c0]
test eax, eax
je 0x4af70f
call fcn.00466740
mov dword [edi], edx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], edx
jmp 0x4b02af
cmp eax, 0x2e74d42b
jne 0x4af76d
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8760]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40
call fcn.004ad4d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc4]
mov dword [edx + 4], eax
mov dword [edx], ecx
jmp 0x4b02af
cmp eax, 0x338a7ec0
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8820]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004ada70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
jmp 0x4b02af
cmp eax, 0x510ad14d
jbe 0x4af89b
cmp eax, 0x62de383d
je 0x4af852
cmp eax, 0x6d448d5d
jne 0x4af7fe
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8660]
cmp eax, ecx
jne 0x4afca8
nop
mov eax, dword [esp + 0xbc]
xor ecx, ecx
jmp 0x4b05ca
cmp eax, 0x6e78e923
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c88a0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004ada70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
jmp 0x4b02af
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8720]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004ad4d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
jmp 0x4b02af
cmp eax, 0x49163278
jne 0x4af8f2
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8ae0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40
call fcn.004ada70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc4]
mov dword [edx + 4], eax
mov dword [edx], ecx
jmp 0x4b02af
cmp eax, 0x510ad14d
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c85e0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x40
call fcn.004ae8a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0044d5a0
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
call fcn.0044d5a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xc4]
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x4b02af
cmp eax, 0xba585d67
ja 0x4afb02
cmp eax, 0x889ce7f8
ja 0x4afa5e
cmp eax, 0x7afcd172
jne 0x4afa09
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c85a0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], pe_nt_image_headers32
call fcn.004ae8a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0xc4]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ebx
jmp 0x4b02af
cmp eax, 0x889ce7f8
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8c20]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.004ada70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov word [ecx], ax
jmp 0x4b02af
cmp eax, 0x8f96facd
jne 0x4afaae
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c87e0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004ada70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
jmp 0x4b02af
cmp eax, 0xba585d67
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c86a0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.004ad4d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
jmp 0x4b02af
cmp eax, 0xd6631a7c
ja 0x4afbb2
cmp eax, 0xc3230e0b
jne 0x4afb5e
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c86e0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.004ad4d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov word [ecx], ax
jmp 0x4b02af
cmp eax, 0xd6631a7c
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c87a0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.004ad4d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov byte [ecx], al
jmp 0x4b02af
cmp eax, 0xe47f76c1
jne 0x4afc17
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c84e0]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.004aeab0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc4]
mov dword [edx + 4], eax
mov eax, dword [0x5b97c0]
test eax, eax
je 0x4afc10
call fcn.00466740
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
jmp 0x4b02af
cmp eax, 0xf3b50de0
jne 0x4afc63
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8860]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.004ada70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov byte [ecx], al
jmp 0x4b02af
cmp eax, 0xfcd60fce
jne 0x4afca8
mov eax, dword [esp + 0xc0]
lea ecx, [0x4c8560]
cmp eax, ecx
jne 0x4afca8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.004acc00
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc4]
mov byte [ecx], al
jmp 0x4b02af
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x4afcf9
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x4afcf1
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x4afce8
or ecx, 0x80
mov edx, dword [esp + 0xa8]
jmp 0x4afcff
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x4afcff
xor ecx, ecx
xor eax, eax
xor edx, edx
mov ebx, ecx
and ecx, 0x1f
nop
cmp ecx, 0x16
jne 0x4b04c8
mov dword [esp + 0x58], ebx
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00481380
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
cmp eax, 0xc
ja 0x4afeac
cmp eax, 1
je 0x4afe62
lea ebp, [eax - 2]
cmp ebp, 4
ja 0x4afde0
test ecx, 0x200
jne 0x4afd77
lea eax, [0x5067c0]
jmp 0x4afd8f
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ad4d0
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00482670
jmp 0x4b02af
cmp eax, 7
jb 0x4b03bf
test ecx, 0x200
jne 0x4afdf9
lea eax, [0x5067c0]
jmp 0x4afe11
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ada70
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00482760
jmp 0x4b02af
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.004acc00
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], al
call fcn.004823e0
jmp 0x4b02af
cmp eax, 0x10
ja 0x4b0021
cmp eax, 0xe
jbe 0x4aff33
test ecx, 0x200
jne 0x4afeca
lea eax, [0x5067c0]
jmp 0x4afee2
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ae8a0
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.004824a0
jmp 0x4b02af
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004ac670
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004acb90
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004adfb0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x38]
test edx, 0x200
jne 0x4aff8e
lea ebx, [0x5067c0]
mov ebp, dword [esp + 0xa0]
jmp 0x4affb8
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, eax
mov ebp, edx
mov eax, dword [ebx + 0x18]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004ae5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004825a0
jmp 0x4b02af
cmp eax, 0x17
je 0x4b0080
cmp eax, 0x18
jne 0x4b03bf
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.004aeab0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00482860
jmp 0x4b02af
test ecx, 0x200
jne 0x4b0090
lea eax, [0x5067c0]
jmp 0x4b00a8
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], edx
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x28]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4b02b6
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.004aeab0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00482e40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x9c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004822c0
xor eax, eax
jmp 0x4b02a7
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
lea ecx, [0x5066ac]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4b0191
add esp, 0xb4
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp dword [0x590bb8], ecx
je 0x4b01f4
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
mov dword [esp + 0x50], eax
mov dword [esp + 0x94], edx
mov eax, dword [esp + 0x14]
mov edx, dword [0x590bbc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00403df0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b0233
mov eax, dword [0x590bc0]
mov edx, dword [0x590bc4]
jmp 0x4b01a1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x94]
jmp 0x4b01a1
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00481620
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x7c]
movzx esi, byte [ebp + ebx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
call fcn.00482760
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jl 0x4b0243
add esp, 0xb4
ret
mov eax, dword [esp + 0x58]
test eax, 0x200
jne 0x4b039a
lea eax, [0x5067c0]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x4e18f9]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00451dd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4b038a
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x84]
mov dword [edi], ecx
jmp 0x4b033e
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x4b02cf
mov eax, dword [esp + 0x58]
test eax, 0x200
jne 0x4b04a3
lea eax, [0x5067c0]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x4e18f9]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00451dd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4b0493
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
jmp 0x4b0447
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00482cf0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x4b03d8
test ebx, ebx
je 0x4b05ad
test ebx, 0x200
jne 0x4b05ad
lea ecx, [0x5067c0]
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x4e26ce]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00451dd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x88], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4b059d
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
jmp 0x4b0551
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00482cf0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
jmp 0x4b04e2
cmp ecx, 8
jge 0x4b0672
lea edx, [0x4dfba0]
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x4b05e8
inc ecx
jmp 0x4b0611
mov dword [esp], edx
mov dword [esp + 4], 8
mov dword [esp + 8], ecx
call fcn.0045f400
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xbc]
lea edx, [0x4dfba0]
cmp eax, ebx
jne 0x4b05ca
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004ac670
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004acb90
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004adfb0
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 0xc], 0x40
call fcn.004ae5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc4]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x4b02af
mov ecx, eax
sar eax, 0x1f
lea edx, [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00452450
mov dword [esp], 0
lea eax, [0x4e0315]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
lea eax, [0x4df866]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 6
lea eax, [0x4df9f1]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 7
call fcn.00451f00
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4b074f
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x8c]
mov dword [edi], ecx
jmp 0x4b0703
cmp ecx, 8
jge 0x4b0814
lea edx, [0x4dfba0]
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x4b077d
inc ecx
jmp 0x4b07a6
mov dword [esp], edx
mov dword [esp + 4], 8
mov dword [esp + 8], ecx
call fcn.0045f400
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xbc]
lea edx, [0x4dfba0]
cmp eax, ebx
jne 0x4b075f
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004ac670
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004acb90
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004adfb0
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 0xc], 0x20
call fcn.004ae5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0044d5a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
jmp 0x4b02af
mov ecx, eax
sar eax, 0x1f
lea edx, [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00452450
mov dword [esp], 0
lea eax, [0x4e0315]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
lea eax, [0x4df866]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 6
lea eax, [0x4df9ea]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 7
call fcn.00451f00
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x90], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4b08f1
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
jmp 0x4b08a5
call fcn.00465370
jmp fcn.004af5d0