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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xd0]
cmp eax, dword [ecx + 8]
jbe 0x51a231
sub esp, 0x150
mov eax, 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x154]
movzx ecx, byte [eax + 1]
test cl, cl
jne 0x51a0ec
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x164]
mov dword [esp + 8], edx
call fcn.004a3100
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004f7110
lea eax, [esp + 8]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], ecx
xor edx, edx
jmp 0x518e58
mov eax, dword [esp + 0x50]
lea edx, [eax + 1]
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x164]
mov dword [esp + 8], ebx
call fcn.004a1610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jge 0x51a007
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov edx, dword [esp + 0x160]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x164]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0049fe40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx + 4]
mov esi, dword [ebx]
mov edi, dword [esp + 0x50]
cmp edi, ebp
jae 0x51a22a
mov dword [esp + 0xa4], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0xa0], edx
mov eax, dword [esi + edi*4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x11c]
mov esi, dword [esp + 0xa8]
call fcn.0044cdee
mov eax, dword [esp + 0x120]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x74], ecx
cmp eax, 0x14
je 0x519fd7
cmp eax, 4
jge 0x519fab
xor edx, edx
test dl, dl
je 0x5190c9
cmp eax, 0x10
jne 0x518e51
mov dword [esp], ecx
lea ecx, [0x89ea2f]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004021f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x518e51
mov eax, dword [esp + 0x64]
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x64], eax
cmp eax, 0x14
ja 0x5190b6
lea edx, [eax - 0x12]
cmp edx, 1
ja 0x51905b
test ecx, 0x200
jne 0x51904f
test ecx, 0x80
je 0x519041
mov eax, dword [esp + 0xa4]
mov edx, dword [eax]
test edx, edx
setne dl
xor edx, 1
test dl, dl
jne 0x518e51
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004a07f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x7e9560]
cmp eax, edx
jne 0x51a212
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov ecx, dword [ecx + 8]
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0051aad0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x518e51
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0xa4]
mov edx, eax
jmp 0x518fbc
mov eax, dword [esp + 0xa4]
jmp 0x518fcc
cmp eax, 0x14
jne 0x519076
mov eax, dword [esp + 0xa4]
mov ebx, dword [eax]
test ebx, ebx
setne dl
xor edx, 1
jmp 0x518fc4
lea eax, [0x836c60]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xc6f140]
test eax, eax
jne 0x5190a6
lea eax, [0x8a0d63]
mov dword [edi], eax
jmp 0x51a1f7
lea eax, [0x8a0d63]
call fcn.0044c860
jmp 0x51a1f7
lea edx, [eax - 0x15]
cmp edx, 1
jbe 0x518f9b
cmp eax, 0x17
je 0x519060
jmp 0x519076
mov eax, dword [esp + 0x64]
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x60], eax
cmp eax, 0x16
jne 0x5190f3
lea edx, [eax - 0x15]
cmp edx, 1
ja 0x519f6b
test ecx, 0x200
je 0x519f3a
cmp eax, 0x17
jne 0x519f2e
lea edx, [eax - 0x15]
cmp edx, 1
ja 0x519f18
test ecx, 0x200
jne 0x519f0c
test ecx, 0x80
je 0x519efe
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx]
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
jne 0x518e51
mov ebx, dword [esp + 0x78]
movzx ebp, byte [ebx + 0x2a]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x519150
cmp eax, 0x17
je 0x519c90
cmp eax, 0x15
je 0x519724
movzx ebp, byte [ebx + 0x34]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51971c
cmp eax, 0x17
je 0x5196de
cmp eax, 0x16
je 0x51917e
cmp eax, 0x17
jne 0x5196a2
cmp eax, 0x14
jne 0x519690
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
call ecx
lea edi, [esp + 0xe8]
mov esi, dword [esp + 0xa8]
call fcn.0044cdee
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x89daa8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xe
call fcn.00498c40
mov eax, dword [esp + 0x14]
test eax, eax
je 0x519675
mov eax, dword [esp + 0x60]
add eax, 0xffffffee
cmp eax, 1
ja 0x51965b
mov eax, dword [esp + 0x64]
test eax, 0x200
jne 0x51964f
test eax, 0x80
je 0x519641
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx]
test edx, edx
setne dl
xor edx, 1
test dl, dl
jne 0x518e51
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0049fcc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0049fcc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa0], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a3100
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa8]
call fcn.0044cdee
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x89a898]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 8
call fcn.00498c40
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
lea edx, [0x884ec0]
mov dword [esp], edx
call fcn.00409d90
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
call fcn.004f6330
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0049fe40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x16
jne 0x51937b
lea ebp, [eax - 0x15]
cmp ebp, 1
ja 0x5195fd
test ebx, 0x200
je 0x5194ad
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
mov ebp, dword [esp + 0x158]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00518550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519498
mov eax, dword [esp + 0x158]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x51945e
mov ecx, dword [esp + 0x154]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
call fcn.0051a240
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x519449
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x518e51
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp], eax
mov byte [esp + 4], 0x20
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519483
mov eax, dword [esp + 0x158]
jmp 0x5193cb
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
test ebx, 0x80
je 0x5195f6
mov eax, dword [ecx]
test eax, eax
setne al
xor eax, 1
test al, al
je 0x51937b
lea eax, [0x81fee0]
mov dword [esp], eax
call fcn.00409d90
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
lea ecx, [0x826720]
mov dword [esp], ecx
call fcn.00409d90
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x5195dc
lea ecx, [0x89ab92]
mov dword [eax], ecx
lea edx, [0x9218b0]
mov ebx, dword [esp + 0x9c]
mov dword [ebx], edx
mov ebp, dword [0xc6f140]
test ebp, ebp
jne 0x5195cf
mov dword [ebx + 4], eax
movzx ebp, byte [0xc5cc40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5195c7
lea ebp, [0x7d4380]
mov dword [0xc5cc44], ebp
mov esi, dword [0xc6f140]
test esi, esi
jne 0x5195b8
mov dword [0xc5cc48], ebx
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0xac]
test eax, eax
je 0x5195b0
movzx esi, byte [eax + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x51958f
or esi, 0x80
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.0049fcc0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x51937b
xor esi, esi
xor ebx, ebx
xor eax, eax
jmp 0x51958f
lea edi, [0xc5cc48]
mov eax, ebx
call fcn.0044c860
jmp 0x519560
lea ebp, [0x7d4380]
jmp 0x519560
lea edi, [ebx + 4]
call fcn.0044c860
jmp 0x519533
mov edi, eax
lea eax, [0x89ab92]
call fcn.0044c860
mov eax, edi
lea ecx, [0x89ab92]
jmp 0x519513
mov eax, ecx
jmp 0x5194bb
mov dword [esp + 0x64], eax
lea eax, [0x836c60]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xc6f140]
test eax, eax
jne 0x519631
lea eax, [0x8a0d63]
mov dword [edi], eax
jmp 0x51a18b
lea eax, [0x8a0d63]
call fcn.0044c860
jmp 0x51a18b
mov ecx, dword [esp + 0xa4]
mov edx, ecx
jmp 0x51921d
mov ecx, dword [esp + 0xa4]
jmp 0x51922d
mov ecx, dword [esp + 0xa4]
mov ebx, dword [ecx]
test ebx, ebx
setne dl
xor edx, 1
mov eax, dword [esp + 0x64]
jmp 0x519225
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
jmp 0x51937f
mov eax, ebx
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0xa0]
jmp 0x51937f
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004f4c70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x518e51
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x78]
jmp 0x51917e
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a0b90
mov eax, dword [esp + 0xc]
test eax, eax
je 0x518e51
mov eax, dword [esp + 0x60]
cmp eax, 0x16
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x78]
jmp 0x519173
cmp eax, 0x16
jmp 0x519173
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a0f00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x48], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f4900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bd1e0
mov eax, dword [esp + 0x48]
test eax, eax
jle 0x518e51
mov ecx, dword [esp + 0x7c]
xor edx, edx
jmp 0x519795
mov ebx, dword [esp + 0x98]
add ebx, 0xc
mov ecx, ebx
mov edx, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x60], eax
mov ebx, dword [ecx + 4]
mov dword [esp + 0x94], ebx
mov ebp, dword [ecx]
mov dword [esp + 0x90], ebp
mov esi, dword [esp + 0xa0]
mov dword [esp], esi
mov edi, dword [esp + 0xa4]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
call fcn.004a0d30
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
call fcn.00518550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519c7b
mov eax, dword [esp + 0x158]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x519c41
mov dword [esp], eax
mov byte [esp + 4], 0x3c
call fcn.00518420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x519c2c
mov eax, dword [esp + 0x158]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x519bf2
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov dword [esp], eax
lea ecx, [0x89739b]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.00517f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x519bdd
mov eax, dword [esp + 0x158]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x519ba3
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x58]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x154]
mov dword [esp], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x10], ebx
call fcn.0051a240
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x519b8e
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519b79
mov eax, dword [esp + 0x58]
mov ecx, eax
and eax, 0x1f
cmp eax, 0x16
je 0x519af0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
lea ecx, [0x898fa7]
mov dword [esp + 4], ecx
mov dword [esp + 8], 6
call fcn.00517f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x519adb
mov eax, dword [esp + 0x158]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x519aa1
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x154]
mov dword [esp], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x88]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
call fcn.0051a240
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x519a8c
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519a77
mov eax, dword [esp + 0x158]
mov dword [esp], eax
call fcn.005184d0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 4], 0x3e
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519a62
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519a4d
mov eax, dword [esp + 0x5c]
inc eax
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jl 0x519787
jmp 0x518e51
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp], eax
mov byte [esp + 4], 0x20
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519ac6
mov eax, dword [esp + 0x158]
jmp 0x519978
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
lea edx, [eax - 0x15]
cmp edx, 1
ja 0x519b35
test ecx, 0x200
jne 0x519934
test ecx, 0x80
je 0x519b2a
mov eax, dword [esp + 0x8c]
mov edx, dword [eax]
test edx, edx
setne dl
xor edx, 1
test dl, dl
jne 0x5199e8
jmp 0x519934
mov eax, dword [esp + 0x8c]
mov edx, eax
jmp 0x519b15
mov dword [esp + 0x64], eax
lea eax, [0x836c60]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xc6f140]
test eax, eax
jne 0x519b69
lea eax, [0x8a0d63]
mov dword [edi], eax
jmp 0x51a1a6
lea eax, [0x8a0d63]
call fcn.0044c860
jmp 0x51a1a6
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp], eax
mov byte [esp + 4], 0x20
call fcn.00518420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x519bc8
mov eax, dword [esp + 0x158]
jmp 0x5198b2
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00518420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x519c17
mov eax, dword [esp + 0x158]
jmp 0x519870
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov dword [esp], eax
mov byte [esp + 4], 0x20
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x519c66
mov eax, dword [esp + 0x158]
jmp 0x519840
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
xor eax, eax
jmp 0x519ca6
mov ebx, dword [esp + 0x4c]
lea eax, [ebx + 1]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a0b90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x518e51
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
call fcn.00518550
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x519ee9
mov eax, dword [esp + 0x158]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x519eb7
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xc], ebx
call fcn.004a0480
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x16
jne 0x519d63
lea ebp, [eax - 0x15]
cmp ebp, 1
ja 0x519e73
test ebx, 0x200
je 0x519deb
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ebp, dword [esp + 0x158]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], ecx
call fcn.0051a240
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x519dd6
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00518420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x519c94
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
test ebx, 0x80
je 0x519e6f
mov eax, dword [ecx]
test eax, eax
setne al
xor eax, 1
test al, al
je 0x519d63
mov dword [esp], 0
lea eax, [0x89822d]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
call fcn.0043c0a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00518090
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x519c94
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov eax, ecx
jmp 0x519df5
mov dword [esp + 0x64], eax
lea eax, [0x836c60]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xc6f140]
test eax, eax
jne 0x519ea7
lea eax, [0x8a0d63]
mov dword [edi], eax
jmp 0x51a1c1
lea eax, [0x8a0d63]
call fcn.0044c860
jmp 0x51a1c1
mov dword [esp], eax
mov byte [esp + 4], 0x20
call fcn.00518420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x519d0b
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov edx, dword [esp + 0xa4]
mov ebx, edx
jmp 0x519129
mov edx, dword [esp + 0xa4]
jmp 0x519139
mov edx, dword [esp + 0xa4]
mov ebp, dword [edx]
test ebp, ebp
setne bl
xor ebx, 1
jmp 0x519131
mov edx, dword [esp + 0xa4]
jmp 0x519139
test ecx, 0x80
je 0x519f60
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx]
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
jne 0x518e51
jmp 0x5190f3
mov edx, dword [esp + 0xa4]
mov ebx, edx
jmp 0x519f4b
lea eax, [0x836c60]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xc6f140]
test eax, eax
jne 0x519f9b
lea eax, [0x8a0d63]
mov dword [edi], eax
jmp 0x51a1dc
lea eax, [0x8a0d63]
call fcn.0044c860
jmp 0x51a1dc
mov dword [esp], ecx
lea eax, [0x897183]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.004021f0
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
jmp 0x518f45
mov dword [esp], ecx
lea edx, [0x8a140e]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004021f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x518e51
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
jmp 0x518f3a
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 8], eax
call fcn.0049dd40
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa0], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004a07f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004f01b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x51a093
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
add esp, 0x150
ret
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
call fcn.0051b420
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x51a076
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
add esp, 0x150
ret
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x164]
mov dword [esp + 8], edx
call fcn.005186b0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x51a126
mov eax, dword [esp + 0x154]
jmp 0x518df9
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x160]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x164]
mov dword [esp + 0x10], ebp
call fcn.00518780
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test al, al
je 0x518df9
mov dword [esp + 0x168], edx
mov dword [esp + 0x16c], ecx
add esp, 0x150
ret
mov eax, dword [esp + 0x64]
mov dword [edi + 8], eax
lea eax, [0x81b700]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427650
ud2
mov eax, dword [esp + 0x64]
mov dword [edi + 8], eax
lea eax, [0x81b700]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427650
ud2
mov eax, dword [esp + 0x64]
mov dword [edi + 8], eax
lea eax, [0x81b700]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427650
ud2
mov eax, dword [esp + 0x60]
mov dword [edi + 8], eax
lea eax, [0x81b700]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427650
ud2
mov eax, dword [esp + 0x64]
mov dword [edi + 8], eax
lea eax, [0x81b700]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427650
ud2
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x809c60]
mov dword [esp + 8], eax
call fcn.004071c0
ud2
call fcn.00426770
ud2
call fcn.0044b100
jmp fcn.00518db0