Function at 0x514f20
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 0x5178c5
sub esp, 0x1a0
mov eax, dword [esp + 0x1ac]
test eax, eax
jne 0x5150cb
mov ecx, dword [esp + 0x1bc]
test ecx, ecx
je 0x514f74
test ecx, 0x200
jne 0x514f74
lea eax, [0x675c20]
mov ecx, dword [esp + 0x1b4]
jmp 0x514f9a
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.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x515019
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x5150ae
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5150a6
mov dword [edx + 0x40], eax
jmp 0x5150ae
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.00511ec0
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 0x517831
test ebp, ebp
je 0x51561a
mov eax, dword [esp + 0x1a8]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x51545d
movzx edx, byte [esp + 0x1c0]
test dl, dl
je 0x5152c9
mov ecx, dword [esp + 0x1bc]
test ecx, ecx
je 0x515172
test ecx, 0x200
jne 0x515172
lea eax, [0x675c20]
mov ecx, dword [esp + 0x1b4]
jmp 0x515198
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.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x515217
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x5152ac
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5152a4
mov dword [edx + 0x40], eax
jmp 0x5152ac
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 0x5152e5
cmp cl, 0x6e
jne 0x5152e0
lea eax, [0x61bea7]
mov ecx, 4
jmp 0x5152fd
cmp cl, 0x74
jne 0x5152f2
lea eax, [0x61be13]
mov ecx, 4
jmp 0x5152fd
lea eax, [0x61c41c]
mov ecx, 6
mov dword [esp + 0x148], eax
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x1bc]
test edx, edx
je 0x51532d
test edx, 0x200
jne 0x51532d
mov edx, dword [esp + 0x1b4]
lea ebx, [0x675c20]
jmp 0x515357
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.004c53d0
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, [0x606dc0]
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 [0x7e2780]
test eax, eax
jne 0x5153a4
mov ecx, dword [esp + 0x148]
mov dword [edi], ecx
jmp 0x5153b0
mov eax, dword [esp + 0x148]
call fcn.00463860
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5153cd
mov eax, dword [esp + 0x13c]
mov dword [edi + 0xc], eax
jmp 0x5153e2
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 0x515440
mov dword [esp], eax
lea ecx, [0x674480]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x515438
mov dword [edx + 0x40], eax
jmp 0x515440
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.00518080
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x5155db
movzx eax, byte [esp + 0x1c0]
test al, al
je 0x5178ac
mov eax, dword [esp + 0x1bc]
test eax, eax
je 0x5154d3
test eax, 0x200
jne 0x5154d3
lea eax, [0x675c20]
mov ecx, dword [esp + 0x1b4]
jmp 0x5154f9
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.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x515578
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
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 0x515fe6
cmp bl, 0x22
je 0x515655
cmp bl, 0x66
je 0x516202
jmp 0x51684b
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.00518080
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test al, al
je 0x515ead
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 0x515c86
cmp eax, 0x17
jne 0x515993
mov dword [esp + 0x94], ecx
test ebp, 0x200
jne 0x5156d8
lea eax, [0x675c20]
mov esi, dword [esp + 0x168]
jmp 0x515700
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.004c53d0
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 0x51583d
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x515740
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x515766
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c488]
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5157c0
mov ecx, dword [esp + 0x118]
mov dword [eax + 0xc], ecx
jmp 0x5157d3
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x515830
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
mov eax, dword [0x7bacfc]
cmp dword [eax + 0x140], 0xffffffff
jne 0x515868
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 0x515875
mov eax, dword [esp + 0x90]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x80], ecx
lea eax, [0x5f0f40]
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 [0x7bacfc]
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.005108d0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x515947
nop
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x3c]
test ebx, ebx
jne 0x517814
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x51593a
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
mov edx, dword [esp + 0x80]
cmp edx, ecx
jb 0x5178a7
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.004c4580
jmp 0x517814
cmp eax, 0x18
jne 0x515b6e
test ebp, 0x200
jne 0x5159b3
lea eax, [0x675c20]
mov ecx, dword [esp + 0x168]
jmp 0x5159ee
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.004c53d0
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 [0x7bbd0c]
cmp dword [0x7bbd08], eax
je 0x515a03
xor eax, eax
jmp 0x515a8b
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 0x515a35
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0xb0]
xor eax, eax
jmp 0x515a8b
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.0051b200
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 0x515acd
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.004c4f60
jmp 0x517814
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, [0x5eab40]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x62e51b]
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.004cb530
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 0x515b89
test ebp, 0x200
jne 0x515b89
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x515baf
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c488]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x515c09
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0xc], ecx
jmp 0x515c1c
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x515c79
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c40c0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x515dca
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x515ccd
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x515cf3
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c488]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x515d4d
mov ecx, dword [esp + 0x114]
mov dword [eax + 0xc], ecx
jmp 0x515d60
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x515dbd
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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 [0x7bc410]
test cl, cl
je 0x515e3b
lea ecx, [0x5f0d80]
mov dword [0x7bc414], ecx
mov edx, dword [0x7e2780]
test edx, edx
jne 0x515e2e
mov dword [0x7bc418], eax
jmp 0x515e41
lea edi, [0x7bc418]
call fcn.00463860
jmp 0x515e41
lea ecx, [0x5f0d80]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x515e71
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x515e77
or edx, 0x80
jmp 0x515e77
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.004c43b0
jmp 0x517814
movzx eax, byte [esp + 0x1c0]
test al, al
je 0x51788f
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x515ede
test eax, 0x200
jne 0x515ede
lea eax, [0x675c20]
mov ecx, dword [esp + 0x168]
jmp 0x515f04
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.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x515f83
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
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 0x5161f9
movzx ebx, byte [esp + 0x1c0]
test bl, bl
je 0x51616d
mov ebx, dword [esp + 0x1ac]
cmp ebx, 4
jne 0x516017
cmp dword [edx], 0x6c6c756e
je 0x51616d
test edi, edi
je 0x51602b
test edi, 0x200
jne 0x51602b
lea ecx, [0x675c20]
jmp 0x516057
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5160ca
mov ecx, dword [eax + 4]
jmp 0x5160cc
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x134]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517814
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516160
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
nop
mov edx, edi
and edi, 0x1f
lea ebx, [edi - 0x14]
cmp ebx, 3
ja 0x517814
test edx, 0x200
jne 0x51618f
lea ebx, [0x675c20]
jmp 0x5161ab
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53d0
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.004c6130
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.004c43b0
jmp 0x517814
cmp bl, 0x74
jne 0x51684b
movzx ebp, byte [esp + 0x1c0]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x516399
mov esi, dword [esp + 0x1ac]
cmp esi, 4
jne 0x51622c
cmp dword [edx], 0x65757274
je 0x5163a0
cmp esi, 5
jne 0x516243
cmp dword [edx], 0x736c6166
jne 0x516243
cmp byte [edx + 4], 0x65
je 0x5163a0
test edi, edi
je 0x516257
test edi, 0x200
jne 0x516257
lea ecx, [0x675c20]
jmp 0x516283
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5162f6
mov ecx, dword [eax + 4]
jmp 0x5162f8
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x130]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517814
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x51638c
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
mov esi, dword [esp + 0x1ac]
cmp bl, 0x74
sete bl
nop
nop
and edi, 0x1f
cmp edi, 1
je 0x51682b
cmp edi, 0x14
je 0x516630
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x516524
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x5163e2
test ebx, 0x200
jne 0x5163e2
lea ecx, [0x675c20]
jmp 0x51640e
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x516481
mov ecx, dword [eax + 4]
jmp 0x516483
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517814
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516517
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x516541
test edx, 0x200
jne 0x516541
mov ecx, eax
lea eax, [0x675c20]
jmp 0x516559
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x61be13]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5165b3
mov ecx, dword [esp + 0x128]
mov dword [eax + 0xc], ecx
jmp 0x5165c6
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516623
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c40c0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x516711
movzx ecx, byte [esp + 0x2e]
movzx ecx, cl
lea edx, [0x799200]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x7bc410]
test cl, cl
je 0x51669f
lea ecx, [0x5ef880]
mov dword [0x7bc414], ecx
mov edx, dword [0x7e2780]
test edx, edx
jne 0x516692
mov dword [0x7bc418], eax
jmp 0x5166a5
lea edi, [0x7bc418]
call fcn.00463860
jmp 0x5166a5
lea ecx, [0x5ef880]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0x180]
test ecx, ecx
je 0x5166d5
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5166db
or edx, 0x80
jmp 0x5166db
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.004c43b0
jmp 0x517814
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x51672e
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x516754
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x61be13]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5167ae
mov ecx, dword [esp + 0x124]
mov dword [eax + 0xc], ecx
jmp 0x5167c1
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x51681e
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c44c0
jmp 0x517814
cmp bl, 0x2d
je 0x516988
add ebx, 0xffffffd0
cmp bl, 9
jbe 0x516988
movzx ebx, byte [esp + 0x1c0]
test bl, bl
je 0x517877
test edi, edi
je 0x516884
test edi, 0x200
jne 0x516884
lea ecx, [0x675c20]
jmp 0x5168a9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x516923
mov ecx, dword [eax + 4]
jmp 0x516925
mov ecx, eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x110]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
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 0x516fbb
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x516ca5
cmp edx, 7
jb 0x51723c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004afc60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x516b06
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 0x516c73
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x516b23
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x516b49
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x61c82e]
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 [0x7e2780]
test ecx, ecx
jne 0x516bd2
mov dword [edi], eax
jmp 0x516bd7
call fcn.00463860
mov ecx, dword [esp + 0x34]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516bf4
mov eax, dword [esp + 0xfc]
mov dword [edi + 0xc], eax
jmp 0x516c09
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 0x517814
mov dword [esp], eax
lea ecx, [0x674480]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516c66
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c4e60
jmp 0x517814
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004b0700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x516e15
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 0x516f82
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x516e32
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x516e58
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x61c82e]
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 [0x7e2780]
test ecx, ecx
jne 0x516ee1
mov dword [edi], eax
jmp 0x516ee6
call fcn.00463860
mov ecx, dword [esp + 0x38]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516f03
mov eax, dword [esp + 0x100]
mov dword [edi + 0xc], eax
jmp 0x516f18
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 0x517814
mov dword [esp], eax
lea ecx, [0x674480]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x516f75
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c4880
jmp 0x517814
cmp edx, 0xe
ja 0x517233
mov dword [esp + 0xb4], edx
test ebx, 0x200
jne 0x516fe2
lea ebp, [0x675c20]
mov esi, dword [esp + 0x168]
jmp 0x51700c
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.004c53d0
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.004af4c0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x517052
mov eax, dword [esp + 0xb0]
test eax, 0x200
jmp 0x5170a8
mov eax, dword [esp + 0xb4]
cmp eax, 0xd
jne 0x517209
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x517078
movsd xmm1, qword [0x673d14]
pxor xmm0, xmm1
movsd xmm1, qword [0x673cfc]
ucomisd xmm0, xmm1
jbe 0x517209
movsd xmm1, qword [0x673d04]
ucomisd xmm1, xmm0
jb 0x517209
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x5170b9
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x5170df
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x61c82e]
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 [0x7e2780]
test ecx, ecx
jne 0x517168
mov dword [edi], eax
jmp 0x51716d
call fcn.00463860
mov ecx, dword [esp + 0x30]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x51718a
mov eax, dword [esp + 0xf8]
mov dword [edi + 0xc], eax
jmp 0x51719f
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 0x517814
mov dword [esp], eax
lea ecx, [0x674480]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5171fc
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c47c0
jmp 0x517814
cmp edx, 0x14
je 0x51755b
cmp edx, 0x18
jne 0x5172db
test ebx, 0x200
jne 0x51725c
lea edx, [0x675c20]
mov ebp, dword [esp + 0x168]
jmp 0x51729b
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.004c53d0
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 [0x7bbd0c]
cmp dword [0x7bbd08], edx
je 0x5172ad
xor edx, edx
jmp 0x5172dd
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 0x5172dd
xor edx, edx
test dl, dl
jne 0x517530
movzx eax, byte [esp + 0x1c0]
test al, al
je 0x517418
test ebx, ebx
je 0x517310
test ebx, 0x200
jne 0x517310
lea eax, [0x675c20]
mov ecx, dword [esp + 0x168]
jmp 0x517336
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.004c53d0
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, [0x5eab40]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5173b5
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x19c], eax
lea eax, [0x62e94d]
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.004cb530
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 0x517433
test ebx, 0x200
jne 0x517433
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x517459
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c41c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5174b3
mov ecx, dword [esp + 0x108]
mov dword [eax + 0xc], ecx
jmp 0x5174c6
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x517523
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c4f60
jmp 0x517814
mov edx, dword [esp + 0x1a4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00514d50
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 0x5175e2
nop
mov edx, dword [esp + 0x1a4]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x517814
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5175d5
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
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.004c40c0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x517742
mov eax, dword [esp + 0xb0]
test eax, 0x200
jne 0x517645
mov ecx, dword [esp + 0x168]
lea eax, [0x675c20]
jmp 0x51766b
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.004c53d0
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, [0x606dc0]
mov dword [esp], ebp
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x61c41c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5176c5
mov ecx, dword [esp + 0x104]
mov dword [eax + 0xc], ecx
jmp 0x5176d8
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 0x517814
mov dword [esp], ecx
lea edx, [0x674480]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005117f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a4]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x517735
mov dword [edx + 0x40], eax
jmp 0x517814
lea edi, [edx + 0x40]
call fcn.00463860
jmp 0x517814
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x5177dd
nop
movzx ecx, byte [0x7bc410]
test cl, cl
je 0x517797
mov ecx, dword [esp + 0x15c]
mov dword [0x7bc414], ecx
mov edx, dword [0x7e2780]
test edx, edx
jne 0x517783
mov eax, dword [esp + 0x158]
mov dword [0x7bc418], eax
jmp 0x5177a5
lea edi, [0x7bc418]
mov eax, dword [esp + 0x158]
call fcn.00463860
jmp 0x5177a5
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 0x5177d5
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5177e3
or edx, 0x80
jmp 0x5177e3
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5177e3
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.004c43b0
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, [0x5f0d80]
mov dword [esp], eax
lea eax, [0x673da4]
mov dword [esp + 4], eax
call fcn.00435790
lea eax, [0x5f0d80]
mov dword [esp], eax
lea eax, [0x673da4]
mov dword [esp + 4], eax
call fcn.00435790
call fcn.00463920
lea eax, [0x5f0d80]
mov dword [esp], eax
lea eax, [0x673da4]
mov dword [esp + 4], eax
call fcn.00435790
nop
call fcn.00462450
jmp fcn.00514f20