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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x50059d
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x4fe15f
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4fe0ab
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x4fe124
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fe155
mov dword [edx + 0x50], eax
jmp 0x4fe107
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe107
mov eax, dword [esp + 0x100]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.004fb050
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
test ebx, ebx
jne 0x500509
test ebp, ebp
je 0x4fe670
mov eax, dword [esp + 0x100]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x4fe4d3
movzx edx, byte [esp + 0x118]
test dl, dl
jne 0x4fe373
cmp cl, 0x66
jne 0x4fe345
lea eax, [0xb8f500]
mov ecx, 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0x10fd360]
test eax, eax
jne 0x4fe334
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fe318
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4fe2d7
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], eax
lea ecx, [0xc7fb20]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fe30e
mov dword [edx + 0x50], eax
jmp 0x4fe2ba
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe2ba
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov edi, edx
jmp 0x4fe29e
mov eax, dword [esp + 0xa4]
call fcn.00460b40
jmp 0x4fe27f
cmp cl, 0x6e
jne 0x4fe35a
lea eax, [0xb8f7b0]
mov ecx, 4
jmp 0x4fe1fe
cmp cl, 0x74
je 0x4fe1f3
lea eax, [0xb917e1]
mov ecx, 6
jmp 0x4fe1fe
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4fe41f
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x4fe498
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fe4c9
mov dword [edx + 0x50], eax
jmp 0x4fe47b
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe47b
mov dword [esp + 0xa8], edi
mov dword [esp + 0x48], ebp
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00500d70
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x4fe634
movzx eax, byte [esp + 0x118]
test al, al
je 0x500584
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4fe5d1
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xa8]
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 + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp + 0xc0], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x100]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x500312
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x4ffa80
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
jne 0x4feca7
movzx esi, byte [esp + 0x118]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4fec9b
mov edi, dword [esp + 0x104]
cmp edi, 4
je 0x4fec8a
cmp edi, 5
je 0x4fe823
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4fe76f
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x4fe7e8
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fe819
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
cmp dword [ebx], 0x736c6166
jne 0x4fe6d8
cmp byte [ebx + 4], 0x65
jne 0x4fe6d8
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
nop
nop
and ecx, 0x1f
cmp ecx, 1
je 0x4fec6b
cmp ecx, 0x14
je 0x4fea8f
xchg esi, eax
test al, al
xchg esi, eax
je 0x4fe9a2
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4fe901
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x4fe7cb
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fe995
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0xb8f500]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fea7a
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fea6d
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x4fea13
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
call fcn.004d4370
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4feb70
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0x1095620]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x10e5068]
test cl, cl
je 0x4feb68
lea ecx, [0xaa2e60]
mov dword [0x10e506c], ecx
mov edx, dword [0x10fd360]
test edx, edx
jne 0x4feb5b
mov dword [0x10e5070], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x4feb53
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4feb20
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004d5090
jmp 0x4fe7cb
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4feb20
lea edi, [0x10e5070]
call fcn.00460b40
jmp 0x4feaf2
lea ecx, [0xaa2e60]
jmp 0x4feaf2
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0xb8f500]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fec56
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fec49
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x4febef
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.004d51a0
jmp 0x4fe7cb
cmp dword [ebx], 0x65757274
jne 0x4fe6cf
jmp 0x4fe839
mov edi, dword [esp + 0x104]
jmp 0x4fe839
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x4fedcc
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x4fedcc
movzx ebp, byte [esp + 0x118]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x50054f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4fed69
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.0044a5c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
nop
mov edx, dword [esp + 0x74]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x4ff5d4
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x4ff336
cmp edx, 7
jae 0x4ff0d2
cmp edx, 0x18
je 0x4ff06f
xor edx, edx
test dl, dl
jne 0x4ff044
movzx eax, byte [esp + 0x118]
test al, al
je 0x4fef4d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4feeea
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0xb917e1]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff02f
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff022
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x4fefc8
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004d5dc0
jmp 0x4fe7cb
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp dword [0x10e3d50], eax
je 0x4ff0b5
xor eax, eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0xac]
jmp 0x4fee2d
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0x10e3d54]
mov dword [esp + 8], eax
call fcn.004038f0
movzx eax, byte [esp + 0xc]
jmp 0x4ff09f
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004bdd90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4ff256
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0xb92af9]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff24c
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff233
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4fe7cb
mov dword [esp], eax
lea ecx, [0xc7fb20]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff226
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov edi, edx
jmp 0x4ff1cc
call fcn.00460b40
jmp 0x4ff1b1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov dword [esp + 0x70], ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x6c], edi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x68], edx
cmp ebx, 0x20
sbb edx, edx
mov ecx, esi
shl eax, cl
mov ecx, ebp
mov esi, dword [esp + 0x38]
shr esi, cl
and esi, edi
mov ecx, ebx
mov edi, dword [esp + 0x3c]
shl edi, cl
and edi, edx
or edi, esi
mov esi, dword [esp + 0x68]
and eax, esi
or eax, edi
mov edi, eax
shr eax, cl
and eax, edx
mov esi, dword [esp + 0x3c]
cmp esi, eax
setne al
mov esi, dword [esp + 0x38]
shl esi, cl
and esi, edx
mov ecx, ebp
mov ebp, edi
shl edi, cl
mov ecx, ebx
shr esi, cl
and esi, edx
mov edx, dword [esp + 0x6c]
and edi, edx
or edi, esi
mov ecx, dword [esp + 0x70]
shr ebp, cl
mov edx, dword [esp + 0x68]
and ebp, edx
or edi, ebp
mov edx, dword [esp + 0x38]
cmp edi, edx
setne bl
or ebx, eax
test bl, bl
jne 0x4ff102
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
call fcn.004d5bd0
jmp 0x4fe7cb
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004be560
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4ff4ba
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0xb92af9]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff4b0
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff497
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4fe7cb
mov dword [esp], eax
lea ecx, [0xc7fb20]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff48a
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov edi, edx
jmp 0x4ff430
call fcn.00460b40
jmp 0x4ff415
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
mov dword [esp + 0x7c], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x70], ebp
lea esi, [ebx - 0x20]
mov dword [esp + 0x6c], esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x68], esi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x64], edx
cmp edi, 0x20
sbb ebp, ebp
shr ebx, 5
cmp ebx, 1
sbb ebx, ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x20
sbb edx, edx
mov dword [esp + 0x7c], edx
mov ecx, edi
shl eax, cl
mov ecx, esi
mov edx, dword [esp + 0x34]
shr edx, cl
mov ecx, ebx
mov esi, dword [esp + 0x40]
shl esi, cl
and eax, ebp
mov edi, dword [esp + 0x64]
and edx, edi
mov edi, dword [esp + 0x70]
and esi, edi
or esi, edx
or esi, eax
mov eax, dword [esp + 0x34]
shl eax, cl
and eax, edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x6c]
or ebp, edx
mov ecx, dword [esp + 0x68]
mov edx, esi
shl esi, cl
mov ecx, ebx
shr eax, cl
and eax, edi
mov edi, dword [esp + 0x64]
and esi, edi
or esi, eax
mov ecx, ebp
mov eax, edx
sar edx, cl
mov ebp, dword [esp + 0x60]
xor ebp, 0xffffffff
and ebp, edx
or ebp, esi
mov edx, dword [esp + 0x34]
cmp ebp, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov ecx, dword [esp + 0x7c]
not ecx
or ecx, ebx
sar eax, cl
mov ebx, dword [esp + 0x40]
cmp ebx, eax
setne al
or eax, ebp
test al, al
jne 0x4ff366
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004d5660
jmp 0x4fe7cb
cmp edx, 0xe
jbe 0x4ff863
cmp edx, 0x14
jne 0x4fee22
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fde00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test edx, edx
je 0x4ff665
nop
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4fe7cb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff658
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
call fcn.004d4370
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4ff768
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4ff760
nop
movzx edx, byte [0x10e5068]
test dl, dl
je 0x4ff754
mov dword [0x10e506c], ecx
mov edx, dword [0x10fd360]
test edx, edx
jne 0x4ff740
mov eax, dword [esp + 0xa0]
mov dword [0x10e5070], eax
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x4ff738
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4ff705
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004d5090
jmp 0x4fe7cb
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4ff705
lea edi, [0x10e5070]
mov eax, dword [esp + 0xa0]
call fcn.00460b40
jmp 0x4ff6d7
mov eax, dword [esp + 0xa0]
jmp 0x4ff6d7
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4ff705
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0xb917e1]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff84e
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff841
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x4ff7e7
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004bd750
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4ffa1a
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0xb92af9]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ffa10
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff9f7
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4fe7cb
mov dword [esp], eax
lea ecx, [0xc7fb20]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ff9ea
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov edi, edx
jmp 0x4ff990
call fcn.00460b40
jmp 0x4ff975
mov eax, dword [esp + 0x5c]
cmp eax, 0xd
jne 0x4ffa59
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4ffa39
movsd xmm1, qword [0xc72068]
pxor xmm0, xmm1
movsd xmm1, qword [0xc72038]
ucomisd xmm0, xmm1
jbe 0x4ffa59
movsd xmm1, qword [0xc72060]
ucomisd xmm1, xmm0
jae 0x4ff8c6
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d55a0
jmp 0x4fe7cb
mov dword [esp], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
call fcn.00500d70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 0x14]
test dl, dl
je 0x5001f6
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x4c], eax
nop
nop
mov edx, dword [esp + 0x74]
mov ebp, edx
and edx, 0x1f
cmp edx, 0x14
je 0x4ffff0
cmp edx, 0x17
je 0x4ffd67
cmp edx, 0x18
jne 0x4ffc70
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp dword [0x10e3d50], eax
je 0x4ffc07
xor eax, eax
test al, al
jne 0x4ffb66
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.0044a5c0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d5dc0
jmp 0x4fe7cb
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 8], eax
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
lea eax, [0xbc331b]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0x10e3d54]
mov dword [esp + 8], eax
call fcn.004038f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4ffc2d
xor eax, eax
jmp 0x4ffb1c
lea eax, [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.0044a5c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00503c30
movzx eax, byte [esp + 8]
xor eax, 1
jmp 0x4ffb1c
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0xb91ae7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ffd52
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ffd45
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x4ffceb
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
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
jne 0x4ffef5
mov eax, dword [0x10e2c7c]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4ffee6
mov eax, dword [esp + 0x4c]
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
mov dword [esp + 0x58], ecx
lea eax, [0xaa98e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00446f30
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
mov ecx, dword [0x10e2c7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
call fcn.004e77f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
je 0x4ffea0
nop
mov ecx, dword [esp + 0xfc]
mov ebx, dword [ecx + 0x4c]
test ebx, ebx
jne 0x4fe7cb
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4ffe93
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x500567
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004d5270
jmp 0x4fe7cb
mov eax, dword [esp + 0x4c]
shr eax, 2
lea ecx, [eax + eax*2]
jmp 0x4ffdde
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0xb91ae7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fffdb
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x4fffce
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x4fff74
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004d4370
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5000fb
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.0044a5c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x10e5068]
test cl, cl
je 0x5000f3
lea ecx, [0xaa9660]
mov dword [0x10e506c], ecx
mov edx, dword [0x10fd360]
test edx, edx
jne 0x5000e6
mov dword [0x10e5070], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x5000de
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5000ab
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004d5090
jmp 0x4fe7cb
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5000ab
lea edi, [0x10e5070]
call fcn.00460b40
jmp 0x50007d
lea ecx, [0xaa9660]
jmp 0x50007d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0xb22a80]
mov dword [esp], ebp
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0xb91ae7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x5001e1
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4fe7cb
mov dword [esp], ecx
lea edx, [0xc7fb20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x5001d4
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00460b40
mov eax, ecx
jmp 0x50017a
movzx eax, byte [esp + 0x118]
test al, al
je 0x50056c
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5002af
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
xchg ebp, eax
cmp al, 0x6e
xchg ebp, eax
jne 0x5004f9
movzx ebp, byte [esp + 0x118]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x500483
mov ebp, dword [esp + 0x104]
cmp ebp, 4
je 0x500477
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xa7cc80]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5003d6
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0xbc4f59]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ebec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x4fe7cb
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fa980
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x50046a
mov dword [edx + 0x50], eax
jmp 0x4fe7cb
lea edi, [edx + 0x50]
call fcn.00460b40
jmp 0x4fe7cb
cmp dword [ebx], 0x6c6c756e
jne 0x50033f
nop
mov ebx, ecx
and ecx, 0x1f
add ecx, 0xffffffec
nop
cmp ecx, 3
ja 0x4fe7cb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004d6580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004d7360
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004d5090
jmp 0x4fe7cb
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
je 0x4fe6ad
jmp 0x4feca7
mov eax, dword [ebx + 0x10]
mov dword [esp], esi
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc72ae0]
mov dword [esp + 4], eax
call fcn.00433120
call fcn.00460c00
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc72ad8]
mov dword [esp + 4], eax
call fcn.00433120
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc72b88]
mov dword [esp + 4], eax
call fcn.00433120
nop
call fcn.0045f5f0
jmp fcn.004fdfd0