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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x120]
cmp eax, dword [ecx + 8]
jbe 0x5178b5
sub esp, 0x1a0
mov eax, dword [esp + 0x1ac]
test eax, eax
jne 0x5150bb
mov ecx, dword [esp + 0x1bc]
test ecx, ecx
je 0x514f64
test ecx, 0x200
jne 0x514f64
lea eax, [0x676140]
mov ecx, dword [esp + 0x1b4]
jmp 0x514f8a
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x515009
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x51509e
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515096
mov dword [edx + 0x40], eax
jmp 0x51509e
lea edi, [edx + 0x40]
call fcn.00463860
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
add esp, 0x1a0
ret
mov eax, dword [esp + 0x1a8]
cmp byte [eax], 0x6e
sete cl
mov edx, dword [esp + 0x1b4]
mov dword [esp], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 8], ebp
mov byte [esp + 0xc], cl
call fcn.00511eb0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
test edx, edx
jne 0x517821
test ebp, ebp
je 0x51560a
mov eax, dword [esp + 0x1a8]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x51544d
movzx edx, byte [esp + 0x1c0]
test dl, dl
je 0x5152b9
mov ecx, dword [esp + 0x1bc]
test ecx, ecx
je 0x515162
test ecx, 0x200
jne 0x515162
lea eax, [0x676140]
mov ecx, dword [esp + 0x1b4]
jmp 0x515188
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x515207
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x51529c
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515294
mov dword [edx + 0x40], eax
jmp 0x51529c
lea edi, [edx + 0x40]
call fcn.00463860
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
add esp, 0x1a0
ret
cmp cl, 0x66
je 0x5152d5
cmp cl, 0x6e
jne 0x5152d0
lea eax, [0x61bf07]
mov ecx, 4
jmp 0x5152ed
cmp cl, 0x74
jne 0x5152e2
lea eax, [0x61be73]
mov ecx, 4
jmp 0x5152ed
lea eax, [0x61c477]
mov ecx, 6
mov dword [esp + 0x148], eax
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x1bc]
test edx, edx
je 0x51531d
test edx, 0x200
jne 0x51531d
mov edx, dword [esp + 0x1b4]
lea ebx, [0x676140]
jmp 0x515347
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ebx, eax
mov dword [esp + 0x13c], edx
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xd4], ecx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [0x7e34c0]
test eax, eax
jne 0x515394
mov ecx, dword [esp + 0x148]
mov dword [edi], ecx
jmp 0x5153a0
mov eax, dword [esp + 0x148]
call fcn.00463860
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5153bd
mov eax, dword [esp + 0x13c]
mov dword [edi + 0xc], eax
jmp 0x5153d2
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0x13c]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov eax, dword [esp + 0xd4]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x515430
mov dword [esp], eax
lea ecx, [0x6749a0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515428
mov dword [edx + 0x40], eax
jmp 0x515430
lea edi, [edx + 0x40]
call fcn.00463860
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
add esp, 0x1a0
ret
mov dword [esp + 0x14c], esi
mov dword [esp + 0x88], ebp
mov dword [esp], eax
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00518070
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x5155cb
movzx eax, byte [esp + 0x1c0]
test al, al
je 0x51789c
mov eax, dword [esp + 0x1bc]
test eax, eax
je 0x5154c3
test eax, 0x200
jne 0x5154c3
lea eax, [0x676140]
mov ecx, dword [esp + 0x1b4]
jmp 0x5154e9
mov ecx, dword [esp + 0x1b4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x515568
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0x14c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0xb0], edi
mov edx, dword [esp + 0x1a8]
movzx ebx, byte [edx]
cmp bl, 0x66
ja 0x515fd6
cmp bl, 0x22
je 0x515645
cmp bl, 0x66
je 0x5161f2
jmp 0x51683b
mov dword [esp], edx
mov eax, dword [esp + 0x1ac]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 8], ecx
call fcn.00518070
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test al, al
je 0x515e9d
mov dword [esp + 0x90], edx
mov dword [esp + 0x154], ebx
nop
nop
mov eax, dword [esp + 0xb0]
mov ebp, eax
and eax, 0x1f
cmp eax, 0x14
je 0x515c76
cmp eax, 0x17
jne 0x515983
mov dword [esp + 0x94], ecx
test ebp, 0x200
jne 0x5156c8
lea eax, [0x676140]
mov esi, dword [esp + 0x168]
jmp 0x5156f0
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov esi, ecx
mov eax, dword [eax + 0x28]
mov dword [esp], esi
call eax
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
je 0x51582d
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x515730
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x515756
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov dword [esp + 0x118], ecx
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c4e3]
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5157b0
mov ecx, dword [esp + 0x118]
mov dword [eax + 0xc], ecx
jmp 0x5157c3
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x118]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515820
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov eax, dword [0x7bba1c]
cmp dword [eax + 0x140], 0xffffffff
jne 0x515858
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
jmp 0x515865
mov eax, dword [esp + 0x90]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x80], ecx
lea eax, [0x5f0f80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044a1a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x164], eax
mov ecx, dword [0x7bba1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x154]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x18], edx
call fcn.005108c0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x515937
nop
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x3c]
test ebx, ebx
jne 0x517804
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x51592a
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov edx, dword [esp + 0x80]
cmp edx, ecx
jb 0x517897
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c4570
jmp 0x517804
cmp eax, 0x18
jne 0x515b5e
test ebp, 0x200
jne 0x5159a3
lea eax, [0x676140]
mov ecx, dword [esp + 0x168]
jmp 0x5159de
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0xb0]
mov esi, dword [0x7bca4c]
cmp dword [0x7bca48], eax
je 0x5159f3
xor eax, eax
jmp 0x515a7b
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00403850
movzx eax, byte [esp + 0xc]
test al, al
jne 0x515a25
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0xb0]
xor eax, eax
jmp 0x515a7b
lea eax, [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.0044dff0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0051b1f0
movzx eax, byte [esp + 8]
xor eax, 1
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0xb0]
test al, al
jne 0x515abd
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0044dff0
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
call fcn.004c4f50
jmp 0x517804
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 8], eax
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x62e5fb]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
test ebp, ebp
je 0x515b79
test ebp, 0x200
jne 0x515b79
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x515b9f
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c4e3]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515bf9
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0xc], ecx
jmp 0x515c0c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x11c]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515c69
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004c40b0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x515dba
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x515cbd
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x515ce3
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x114], ecx
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c4e3]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515d3d
mov ecx, dword [esp + 0x114]
mov dword [eax + 0xc], ecx
jmp 0x515d50
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x114]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x515dad
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov dword [esp], 0
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call fcn.0044dff0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004096f0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7bd150]
test cl, cl
je 0x515e2b
lea ecx, [0x5f0dc0]
mov dword [0x7bd154], ecx
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x515e1e
mov dword [0x7bd158], eax
jmp 0x515e31
lea edi, [0x7bd158]
call fcn.00463860
jmp 0x515e31
lea ecx, [0x5f0dc0]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x515e61
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x515e67
or edx, 0x80
jmp 0x515e67
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov ebx, dword [esp + 0x16c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004c43a0
jmp 0x517804
movzx eax, byte [esp + 0x1c0]
test al, al
je 0x51787f
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x515ece
test eax, 0x200
jne 0x515ece
lea eax, [0x676140]
mov ecx, dword [esp + 0x168]
jmp 0x515ef4
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x515f73
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
cmp bl, 0x6e
jne 0x5161e9
movzx ebx, byte [esp + 0x1c0]
test bl, bl
je 0x51615d
mov ebx, dword [esp + 0x1ac]
cmp ebx, 4
jne 0x516007
cmp dword [edx], 0x6c6c756e
je 0x51615d
test edi, edi
je 0x51601b
test edi, 0x200
jne 0x51601b
lea ecx, [0x676140]
jmp 0x516047
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1ac]
mov ebp, ecx
mov ecx, eax
mov eax, ebp
mov dword [esp + 0x134], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp], edx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5160ba
mov ecx, dword [eax + 4]
jmp 0x5160bc
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x134]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517804
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516150
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
nop
mov edx, edi
and edi, 0x1f
lea ebx, [edi - 0x14]
cmp ebx, 3
ja 0x517804
test edx, 0x200
jne 0x51617f
lea ebx, [0x676140]
jmp 0x51619b
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov eax, ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004c6120
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov ebx, dword [esp + 0x16c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c43a0
jmp 0x517804
cmp bl, 0x74
jne 0x51683b
movzx ebp, byte [esp + 0x1c0]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x516389
mov esi, dword [esp + 0x1ac]
cmp esi, 4
jne 0x51621c
cmp dword [edx], 0x65757274
je 0x516390
cmp esi, 5
jne 0x516233
cmp dword [edx], 0x736c6166
jne 0x516233
cmp byte [edx + 4], 0x65
je 0x516390
test edi, edi
je 0x516247
test edi, 0x200
jne 0x516247
lea ecx, [0x676140]
jmp 0x516273
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1ac]
mov ebx, ecx
mov ecx, eax
mov eax, ebx
mov dword [esp + 0x130], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp], edx
mov dword [esp + 4], esi
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5162e6
mov ecx, dword [eax + 4]
jmp 0x5162e8
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x130]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517804
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x51637c
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov esi, dword [esp + 0x1ac]
cmp bl, 0x74
sete bl
nop
nop
and edi, 0x1f
cmp edi, 1
je 0x51681b
cmp edi, 0x14
je 0x516620
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x516514
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x5163d2
test ebx, 0x200
jne 0x5163d2
lea ecx, [0x676140]
jmp 0x5163fe
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1ac]
mov ebx, ecx
mov ecx, eax
mov eax, ebx
mov dword [esp + 0x12c], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp], edx
mov dword [esp + 4], esi
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x516471
mov ecx, dword [eax + 4]
jmp 0x516473
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517804
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516507
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x516531
test edx, 0x200
jne 0x516531
mov ecx, eax
lea eax, [0x676140]
jmp 0x516549
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x61be73]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5165a3
mov ecx, dword [esp + 0x128]
mov dword [eax + 0xc], ecx
jmp 0x5165b6
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x128]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516613
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov byte [esp + 0x2e], bl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 8], edx
call fcn.004c40b0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x516701
movzx ecx, byte [esp + 0x2e]
movzx ecx, cl
lea edx, [0x799f20]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x7bd150]
test cl, cl
je 0x51668f
lea ecx, [0x5ef8c0]
mov dword [0x7bd154], ecx
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x516682
mov dword [0x7bd158], eax
jmp 0x516695
lea edi, [0x7bd158]
call fcn.00463860
jmp 0x516695
lea ecx, [0x5ef8c0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0x180]
test ecx, ecx
je 0x5166c5
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5166cb
or edx, 0x80
jmp 0x5166cb
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov ebx, dword [esp + 0x16c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004c43a0
jmp 0x517804
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x51671e
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x516744
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x61be73]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x51679e
mov ecx, dword [esp + 0x124]
mov dword [eax + 0xc], ecx
jmp 0x5167b1
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x124]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x51680e
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov byte [esp + 0xc], bl
call fcn.004c44b0
jmp 0x517804
cmp bl, 0x2d
je 0x516978
add ebx, 0xffffffd0
cmp bl, 9
jbe 0x516978
movzx ebx, byte [esp + 0x1c0]
test bl, bl
je 0x517867
test edi, edi
je 0x516874
test edi, 0x200
jne 0x516874
lea ecx, [0x676140]
jmp 0x516899
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1a8]
mov ebx, ecx
mov ecx, eax
mov eax, ebx
mov dword [esp + 0x110], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp], edx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x516913
mov ecx, dword [eax + 4]
jmp 0x516915
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x110]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
mov dword [esp], 0
mov dword [esp + 4], edx
mov eax, dword [esp + 0x1ac]
mov dword [esp + 8], eax
call fcn.0044dff0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
nop
mov edx, dword [esp + 0xb0]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x516fab
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x516c95
cmp edx, 7
jb 0x51722c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004afc50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x516af6
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0x168]
mov ebx, dword [eax]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
cmp ebx, 0x20
sbb ebp, ebp
lea esi, [ebx - 0x20]
mov dword [esp + 0xd0], esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb eax, eax
mov dword [esp + 0xcc], eax
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0xc8], eax
mov ecx, edi
shl edx, cl
and edx, eax
mov ecx, ebx
mov eax, dword [esp + 0xa8]
shl eax, cl
and eax, ebp
mov ecx, esi
mov edi, dword [esp + 0x9c]
shr edi, cl
mov esi, dword [esp + 0xcc]
and edi, esi
or edi, eax
or edi, edx
mov dword [esp + 0xcc], edi
mov eax, ecx
mov ecx, ebx
mov edx, dword [esp + 0x9c]
shl edx, cl
and edx, ebp
mov ecx, dword [esp + 0xd0]
shr edi, cl
mov ecx, ebp
mov ebp, dword [esp + 0xc8]
and edi, ebp
mov dword [esp + 0xd0], edi
mov ebp, ecx
mov ecx, eax
mov edi, dword [esp + 0xcc]
mov eax, edi
shl edi, cl
and edi, esi
mov ecx, ebx
shr edx, cl
and edx, ebp
or edx, edi
mov esi, dword [esp + 0xd0]
or edx, esi
mov esi, dword [esp + 0x9c]
cmp esi, edx
setne dl
shr eax, cl
and eax, ebp
mov ebx, dword [esp + 0xa8]
cmp ebx, eax
setne al
or eax, edx
test al, al
je 0x516c63
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x516b13
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x516b39
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x61c889]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ecx
call fcn.0044dd40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516bc2
mov dword [edi], eax
jmp 0x516bc7
call fcn.00463860
mov ecx, dword [esp + 0x34]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516be4
mov eax, dword [esp + 0xfc]
mov dword [edi + 0xc], eax
jmp 0x516bf9
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xfc]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov eax, dword [esp + 0xd4]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x517804
mov dword [esp], eax
lea ecx, [0x6749a0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516c56
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
call fcn.004c4e50
jmp 0x517804
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004b06f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x516e05
mov dword [esp + 0xac], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ebx
mov ebp, dword [esp + 0x168]
mov esi, dword [ebp]
shl esi, 3
lea ecx, [esi - 0x40]
neg ecx
mov dword [esp + 0xc4], ecx
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0xd0], esi
lea edi, [ecx - 0x20]
mov dword [esp + 0xcc], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0xc8], edi
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0xc0], eax
mov ebp, dword [esp + 0xcc]
cmp ebp, 0x20
sbb ebp, ebp
mov dword [esp + 0xbc], ebp
shr ecx, 5
cmp ecx, 1
sbb ebp, ebp
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0xc4]
cmp ebp, 0x20
sbb eax, eax
mov ecx, ebp
shl ebx, cl
and ebx, esi
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0xc0]
and edx, edi
mov ecx, dword [esp + 0xcc]
mov edi, dword [esp + 0xa0]
shl edi, cl
mov esi, dword [esp + 0xbc]
and edi, esi
or edx, ebx
or edx, edi
not eax
or eax, ebp
mov ebx, ecx
mov ecx, eax
mov edi, edx
sar edx, cl
mov eax, dword [esp + 0xa4]
cmp eax, edx
setne al
mov byte [esp + 0x2f], al
mov ecx, ebp
mov edx, dword [esp + 0xa0]
shl edx, cl
mov eax, dword [esp + 0xd0]
and edx, eax
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, ebx
mov ecx, esi
mov ebx, edi
sar edi, cl
mov ecx, ebp
shr edx, cl
and edx, eax
mov ecx, dword [esp + 0xc8]
shl ebx, cl
mov eax, dword [esp + 0xc0]
and ebx, eax
or edx, ebx
mov eax, dword [esp + 0xb8]
xor eax, 0xffffffff
and eax, edi
or eax, edx
mov edx, dword [esp + 0xa0]
cmp edx, eax
setne al
movzx ebx, byte [esp + 0x2f]
or eax, ebx
test al, al
je 0x516f72
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x516e22
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x516e48
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x100], ecx
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x61c889]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ecx
call fcn.0044dd40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516ed1
mov dword [edi], eax
jmp 0x516ed6
call fcn.00463860
mov ecx, dword [esp + 0x38]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516ef3
mov eax, dword [esp + 0x100]
mov dword [edi + 0xc], eax
jmp 0x516f08
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov eax, dword [esp + 0xd4]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x517804
mov dword [esp], eax
lea ecx, [0x6749a0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x516f65
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.004c4870
jmp 0x517804
cmp edx, 0xe
ja 0x517223
mov dword [esp + 0xb4], edx
test ebx, 0x200
jne 0x516fd2
lea ebp, [0x676140]
mov esi, dword [esp + 0x168]
jmp 0x516ffc
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov esi, ecx
mov eax, dword [ebp + 0x18]
mov dword [esp], esi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x150]
mov dword [esp], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004af4b0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x517042
mov eax, dword [esp + 0xb0]
test eax, 0x200
jmp 0x517098
mov eax, dword [esp + 0xb4]
cmp eax, 0xd
jne 0x5171f9
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x517068
movsd xmm1, qword [0x674238]
pxor xmm0, xmm1
movsd xmm1, qword [0x674220]
ucomisd xmm0, xmm1
jbe 0x5171f9
movsd xmm1, qword [0x674228]
ucomisd xmm1, xmm0
jb 0x5171f9
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x5170a9
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x5170cf
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x61c889]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ecx
call fcn.0044dd40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x517158
mov dword [edi], eax
jmp 0x51715d
call fcn.00463860
mov ecx, dword [esp + 0x30]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x51717a
mov eax, dword [esp + 0xf8]
mov dword [edi + 0xc], eax
jmp 0x51718f
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xf8]
mov edx, edi
mov edi, ecx
call fcn.00463860
mov edi, edx
mov eax, dword [esp + 0xd4]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x517804
mov dword [esp], eax
lea ecx, [0x6749a0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5171ec
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
call fcn.004c47b0
jmp 0x517804
cmp edx, 0x14
je 0x51754b
cmp edx, 0x18
jne 0x5172cb
test ebx, 0x200
jne 0x51724c
lea edx, [0x676140]
mov ebp, dword [esp + 0x168]
jmp 0x51728b
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xb0]
mov edx, eax
mov ebp, ecx
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x8c]
mov esi, dword [0x7bca4c]
cmp dword [0x7bca48], edx
je 0x51729d
xor edx, edx
jmp 0x5172cd
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00403850
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xb0]
mov edx, eax
mov eax, dword [esp + 0x150]
jmp 0x5172cd
xor edx, edx
test dl, dl
jne 0x517520
movzx eax, byte [esp + 0x1c0]
test al, al
je 0x517408
test ebx, ebx
je 0x517300
test ebx, 0x200
jne 0x517300
lea eax, [0x676140]
mov ecx, dword [esp + 0x168]
jmp 0x517326
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 8], edx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x5eab60]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5173a5
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x19c], eax
lea eax, [0x62ea2d]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
test ebx, ebx
je 0x517423
test ebx, 0x200
jne 0x517423
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x517449
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c477]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5174a3
mov ecx, dword [esp + 0x108]
mov dword [eax + 0xc], ecx
jmp 0x5174b6
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x108]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x517513
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov edx, dword [esp + 0x168]
mov dword [esp], edx
mov edx, dword [esp + 0x16c]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004c4f50
jmp 0x517804
mov edx, dword [esp + 0x1a4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00514d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edx, edx
je 0x5175d2
nop
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517804
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5175c5
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov dword [esp + 0x158], esi
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 8], edx
call fcn.004c40b0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x517732
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x517635
mov ecx, dword [esp + 0x168]
lea eax, [0x676140]
jmp 0x51765b
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0xd4], ebx
lea ebp, [0x606e00]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c477]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5176b5
mov ecx, dword [esp + 0x104]
mov dword [eax + 0xc], ecx
jmp 0x5176c8
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x104]
call fcn.00463860
mov eax, ecx
mov ecx, dword [esp + 0xd4]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x517804
mov dword [esp], ecx
lea edx, [0x6749a0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x517725
mov dword [edx + 0x40], eax
jmp 0x517804
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517804
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x5177cd
nop
movzx ecx, byte [0x7bd150]
test cl, cl
je 0x517787
mov ecx, dword [esp + 0x15c]
mov dword [0x7bd154], ecx
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x517773
mov eax, dword [esp + 0x158]
mov dword [0x7bd158], eax
jmp 0x517795
lea edi, [0x7bd158]
mov eax, dword [esp + 0x158]
call fcn.00463860
jmp 0x517795
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
test ecx, ecx
je 0x5177c5
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5177d3
or edx, 0x80
jmp 0x5177d3
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5177d3
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov ebx, dword [esp + 0x16c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004c43a0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
add esp, 0x1a0
ret
mov eax, dword [edx + 0x10]
mov dword [esp], ebx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
add esp, 0x1a0
ret
lea eax, [0x5f0dc0]
mov dword [esp], eax
lea eax, [0x6742c8]
mov dword [esp + 4], eax
call fcn.00435790
lea eax, [0x5f0dc0]
mov dword [esp], eax
lea eax, [0x6742c8]
mov dword [esp + 4], eax
call fcn.00435790
call fcn.00463920
lea eax, [0x5f0dc0]
mov dword [esp], eax
lea eax, [0x6742c8]
mov dword [esp + 4], eax
call fcn.00435790
nop
call fcn.00462450
jmp fcn.00514f10