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

Disassembly:
mov ecx, dword [0x93ee7c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x13c]
cmp eax, dword [ecx + 8]
jbe 0x529cee
sub esp, 0x1bc
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1c4]
test eax, eax
je 0x527d87
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x134]
test eax, eax
je 0x527d7f
movzx ecx, byte [eax + 0xf]
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x527d76
or ecx, 0x80
mov edx, dword [esp + 0x138]
jmp 0x527d8d
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x527d8d
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0048fa80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x15c], edx
xor ebx, ebx
jmp 0x527de1
mov ebp, dword [esp + 0x8c]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x8c], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00490830
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0xc], eax
jle 0x529833
mov ecx, dword [esp + 0x160]
mov dword [esp], ecx
mov edx, dword [esp + 0x15c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0048fc30
mov eax, dword [esp + 0x10]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x154], edx
nop
mov ebx, dword [esp + 0xac]
test ebx, ebx
je 0x527e76
test ebx, 0x200
jne 0x527e76
lea ebp, [0x78cbe4]
mov esi, dword [esp + 0x160]
jmp 0x527ea0
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov esi, ecx
mov eax, dword [ebp + 0x30]
mov dword [esp], esi
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0x188]
lea esi, [esp + 8]
call fcn.00471f5e
mov eax, dword [esp + 0x18c]
test eax, eax
jbe 0x529ce4
mov ecx, dword [esp + 0x188]
movzx edx, byte [ecx]
cmp dl, 0x41
jb 0x527ee6
cmp dl, 0x5a
jbe 0x527ef2
mov eax, dword [esp + 0x1c0]
jmp 0x527dc2
mov dword [esp + 0x78], eax
mov dword [esp + 0x108], ecx
mov edx, dword [esp + 0xa8]
mov ebx, edx
and edx, 0x160
cmp edx, 0x100
jne 0x52975c
nop
mov edx, dword [esp + 0x1cc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov word [esp + 0xc], 2
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.005206d0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x528048
mov eax, dword [esp + 0x1c0]
movzx ecx, byte [eax + 2]
test cl, cl
jne 0x527dc2
mov ecx, dword [esp + 0xa8]
test ecx, 0x200
jne 0x527f8c
lea ecx, [0x78cbe4]
mov edx, dword [esp + 0x158]
jmp 0x527fb6
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0x58], ecx
lea eax, [0x6f2c20]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x527ff3
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x108]
jmp 0x52800b
call fcn.00471840
mov ecx, dword [esp + 0xcc]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0x14
lea ecx, [0x720e51]
mov dword [eax + 0x10], ecx
lea edx, [0x78aa60]
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x1c0]
jmp 0x527dc2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x104], eax
lea ecx, [0x6e53e0]
mov dword [esp], ecx
call fcn.0040bb90
mov eax, dword [esp + 4]
lea ecx, [0x529d00]
mov dword [eax], ecx
mov edx, dword [0x93f150]
test edx, edx
jne 0x528080
mov edx, dword [esp + 0x104]
jmp 0x52808e
call fcn.00471830
mov edx, dword [esp + 0x104]
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [esp], eax
call fcn.00435200
test eax, eax
jne 0x529750
mov eax, dword [esp + 0xa8]
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0xa4], eax
cmp eax, 0x16
jne 0x5281e2
mov edx, dword [esp + 0x1c0]
movzx ebx, byte [edx + 1]
test bl, bl
je 0x5280ee
mov ebx, dword [esp + 0x104]
cmp word [ebx], 1
jne 0x5280f5
mov ebp, ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
jmp 0x528200
mov ebx, dword [esp + 0x104]
test ecx, 0x200
jne 0x52810c
lea ebp, [0x78cbe4]
mov esi, dword [esp + 0x158]
jmp 0x528136
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov edx, dword [esp + 0x154]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov esi, ecx
mov eax, dword [ebp + 0x2c]
mov dword [esp], esi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004922a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov ebp, dword [esp + 0x154]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00490ad0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.0048fa80
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xa8]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x1c0]
jmp 0x528200
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x104]
mov ebp, ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
cmp word [ebx], 1
jne 0x52820d
mov eax, edx
jmp 0x527dc2
mov dword [esp + 0x60], ecx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], esi
mov dword [esp], ebx
call fcn.00523d00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x528ba4
mov edx, dword [eax + 8]
cmp edx, 0x8fc52ddb
ja 0x528791
cmp edx, 0x43daea34
ja 0x5286d1
cmp edx, 0x778cdb8
jne 0x52867f
lea edx, [0x6db180]
cmp eax, edx
jne 0x528674
mov eax, dword [esp + 0x60]
mov ebx, eax
and eax, 0x1f
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
nop
cmp eax, 0xb
ja 0x528353
lea esi, [eax - 2]
cmp esi, 4
jbe 0x5282f4
cmp eax, 7
jb 0x528662
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0047c680
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x529028
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00491100
jmp 0x528662
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0047cf70
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x529046
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00491010
jmp 0x528662
cmp eax, 0x18
je 0x52863c
cmp eax, 0x19
jne 0x528662
mov dword [esp + 0x68], ecx
mov dword [esp + 0xdc], ebp
test ebx, 0x200
jne 0x528387
lea eax, [0x78cbe4]
mov esi, dword [esp + 0xd4]
jmp 0x5283c2
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
lea edx, [0x6db180]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xdc]
cmp dword [0x91edd0], eax
jne 0x528662
mov ecx, dword [0x91edd4]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.00404430
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5283f8
lea edx, [0x6db180]
jmp 0x528662
mov ecx, dword [esp + 0x68]
cmp ecx, 0x19
je 0x52840d
mov ebp, dword [esp + 0xdc]
jmp 0x528537
mov eax, dword [esp + 0xdc]
lea ecx, [eax + 0x16]
mov dword [esp], ecx
mov dword [esp + 4], 3
call fcn.0047d4c0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x52907e
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 0xa0], edx
mov dword [esp], edx
call fcn.00409ea0
mov ecx, dword [esp + 4]
lea edx, [0x6db3c0]
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0xa0]
imul ecx, ecx, 0x3c
mov ebx, dword [esp + 0x7c]
sub ebx, ecx
mov dword [esp], ebx
call fcn.00409ea0
mov ecx, dword [esp + 4]
lea edx, [0x6db3c0]
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ecx
lea ecx, [0x71bdd7]
mov dword [esp], ecx
mov dword [esp + 4], 8
lea ebx, [esp + 0x178]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c4c20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], 0
mov ebx, dword [esp + 0xdc]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x16
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00450670
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], ecx
lea edi, [esp + 0x188]
xor eax, eax
call fcn.00471acb
lea ecx, [0x72463a]
mov dword [esp], ecx
mov dword [esp + 4], 0x1a
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x68]
mov dword [esp + 0xc], edx
call fcn.004aa6b0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x28]
lea edi, [esp + 0x188]
lea esi, [esp + 0x10]
call fcn.00471fae
lea edi, [esp + 0xf0]
lea esi, [esp + 0x188]
call fcn.00471fae
mov ecx, dword [esp + 0x90]
test ecx, ecx
jne 0x529064
lea eax, [0x718660]
mov dword [esp], eax
lea ecx, [esp + 0xf0]
mov dword [esp + 4], ecx
call fcn.00409d70
mov eax, dword [esp + 8]
lea ecx, [0x718660]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov edx, dword [esp + 0x11c]
test edx, edx
je 0x528600
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x528606
or ebx, 0x80
jmp 0x528606
xor ebx, ebx
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.00490ad0
lea edx, [0x6db180]
jmp 0x528662
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00491200
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
lea edx, [0x6db1c0]
jmp 0x528baa
cmp edx, 0x3e2307d4
jne 0x5286a3
lea edx, [0x6db240]
cmp eax, edx
jne 0x528698
test eax, eax
jmp 0x5288f9
lea edx, [0x6db1c0]
jmp 0x528baa
cmp edx, 0x43daea34
jne 0x5286c6
lea edx, [0x6db1c0]
cmp eax, edx
jne 0x528baa
test eax, eax
lea edx, [0x6db240]
jmp 0x5288f9
lea edx, [0x6db1c0]
jmp 0x528baa
cmp edx, 0x6bed3cfa
jne 0x5286fb
lea edx, [0x6db2c0]
cmp eax, edx
jne 0x5286f0
test eax, eax
lea edx, [0x6db240]
jmp 0x5288f9
lea edx, [0x6db380]
jmp 0x528786
cmp edx, 0x8d826c95
jne 0x528767
lea edx, [0x6db500]
cmp eax, edx
jne 0x52875f
mov eax, dword [esp + 0x60]
mov ebx, eax
and eax, 0x1f
nop
nop
cmp eax, 0xd
jne 0x52909c
movss xmm0, dword [ecx]
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
cvtss2sd xmm0, xmm0
movsd qword [esp + 0xc], xmm0
call fcn.00490f50
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
lea edx, [0x6db380]
jmp 0x528786
cmp edx, 0x8fc52ddb
jne 0x528780
lea edx, [0x6db380]
cmp eax, edx
jne 0x528786
test eax, eax
jmp 0x528a6f
lea edx, [0x6db380]
lea edx, [0x6db1c0]
jmp 0x528baa
cmp edx, 0x99d6dd43
ja 0x528863
cmp edx, 0x93592d94
jne 0x52880b
lea edx, [0x6db540]
cmp eax, edx
jne 0x528800
mov eax, dword [esp + 0x60]
mov ebx, eax
and eax, 0x1f
add eax, 0xfffffff3
nop
nop
cmp eax, 1
ja 0x529171
movsd xmm0, qword [ecx]
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
movsd qword [esp + 0xc], xmm0
call fcn.00490f50
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
lea edx, [0x6db340]
jmp 0x528b9c
cmp edx, 0x95738979
jne 0x528835
lea edx, [0x6db200]
cmp eax, edx
jne 0x52882a
test eax, eax
lea edx, [0x6db380]
jmp 0x528a6f
lea edx, [0x6db340]
jmp 0x528b9c
cmp edx, 0x99d6dd43
jne 0x528858
lea edx, [0x6db340]
cmp eax, edx
jne 0x528b9c
test eax, eax
lea edx, [0x6db240]
jmp 0x5288f9
lea edx, [0x6db340]
jmp 0x528b9c
cmp edx, 0xcb735792
ja 0x528a26
cmp edx, 0xb00b9f48
jne 0x5288d7
lea edx, [0x6db580]
cmp eax, edx
jne 0x5288cc
mov eax, dword [esp + 0x60]
mov ebx, eax
and eax, 0x1f
nop
nop
cmp eax, 1
jne 0x529246
movzx eax, byte [ecx]
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], al
call fcn.00490bf0
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
lea edx, [0x6db3c0]
jmp 0x528b96
cmp edx, 0xcb735792
jne 0x528a1b
lea edx, [0x6db3c0]
cmp eax, edx
jne 0x528b96
test eax, eax
lea edx, [0x6db240]
je 0x528936
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x12c]
test eax, eax
je 0x528930
movzx eax, byte [eax + 0xf]
mov ecx, eax
and eax, 0x1f
test cl, 0x20
jne 0x528927
or eax, 0x80
mov ecx, dword [esp + 0x130]
jmp 0x52893a
xor eax, eax
xor ecx, ecx
jmp 0x52893a
xor eax, eax
xor ecx, ecx
and eax, 0x1f
mov dword [esp + 0xa4], eax
nop
cmp eax, 3
ja 0x528971
cmp eax, 2
jne 0x52895e
mov eax, dword [ecx]
mov ecx, eax
sar eax, 0x1f
mov ebx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x52899c
cmp eax, 3
jne 0x529ca7
movsx eax, byte [ecx]
mov ecx, eax
sar ecx, 0x1f
jmp 0x52899c
cmp eax, 4
jne 0x528980
movsx eax, word [ecx]
mov ecx, eax
sar ecx, 0x1f
jmp 0x52899c
cmp eax, 5
jne 0x52898e
mov eax, dword [ecx]
mov ecx, eax
sar ecx, 0x1f
jmp 0x52899c
cmp eax, 6
jne 0x529ca7
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x60]
mov ebp, ebx
and ebx, 0x1f
lea esi, [ebx - 2]
nop
nop
cmp esi, 4
jbe 0x5289e3
add ebx, 0xfffffff9
cmp ebx, 4
ja 0x52931b
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00491100
jmp 0x528a09
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00491010
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
lea edx, [0x6db3c0]
jmp 0x528b96
cmp edx, 0xd9632893
jne 0x528a4d
lea edx, [0x6db280]
cmp eax, edx
jne 0x528a42
test eax, eax
lea edx, [0x6db380]
jmp 0x528a6f
lea edx, [0x6db300]
jmp 0x528b90
cmp edx, 0xe927f9e3
jne 0x528b8a
lea edx, [0x6db300]
cmp eax, edx
jne 0x528b90
test eax, eax
lea edx, [0x6db380]
je 0x528aac
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
mov eax, dword [esp + 0x124]
test eax, eax
je 0x528aa6
movzx eax, byte [eax + 0xf]
mov ecx, eax
and eax, 0x1f
test cl, 0x20
jne 0x528a9d
or eax, 0x80
mov ecx, dword [esp + 0x128]
jmp 0x528ab0
xor eax, eax
xor ecx, ecx
jmp 0x528ab0
xor eax, eax
xor ecx, ecx
and eax, 0x1f
mov dword [esp + 0xa4], eax
nop
cmp eax, 9
ja 0x528ae7
cmp eax, 7
jne 0x528acb
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x528b0b
cmp eax, 8
jne 0x528ad7
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x528b0b
cmp eax, 9
jne 0x529c6a
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x528b0b
cmp eax, 0xa
jne 0x528af2
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x528b0b
cmp eax, 0xb
jne 0x528afe
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x528b0b
cmp eax, 0xc
jne 0x529c6a
mov eax, dword [ecx]
xor ecx, ecx
mov ebx, dword [esp + 0x60]
mov ebp, ebx
and ebx, 0x1f
lea esi, [ebx - 2]
nop
nop
cmp esi, 4
jbe 0x528b52
add ebx, 0xfffffff9
cmp ebx, 4
ja 0x5293f0
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00491100
jmp 0x528b78
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00491010
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
lea edx, [0x6db300]
lea edx, [0x6db3c0]
lea edx, [0x6db340]
lea edx, [0x6db1c0]
jmp 0x528baa
lea edx, [0x6db1c0]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x60]
mov ebp, ebx
and ebx, 0x1f
nop
cmp ebx, 0x17
je 0x528ce2
nop
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov ebx, dword [esp + 0x148]
test ebx, ebx
je 0x528bea
lea ebx, [0x78cbe4]
jmp 0x528bec
xor ebx, ebx
test ebx, ebx
jne 0x5294c5
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x16
jne 0x528c09
mov ebp, dword [esp + 0x1c0]
jmp 0x528c23
mov ebp, dword [esp + 0x1c0]
movzx esi, byte [ebp]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5294c5
cmp ebx, 0x16
jne 0x528c34
movzx eax, byte [ebp + 1]
test al, al
jne 0x528c40
cmp ebx, 0x16
je 0x529021
movzx eax, byte [ebp]
test al, al
je 0x529021
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x528c5d
lea ecx, [0x78cbe4]
mov ebx, dword [esp + 0x158]
jmp 0x528c87
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov edx, dword [esp + 0x154]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004921c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov ebx, dword [esp + 0x154]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00490ad0
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
jmp 0x529021
test ebp, 0x200
jne 0x528cf9
lea ebx, [0x78cbe4]
mov esi, dword [esp + 0xd4]
jmp 0x528d21
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00491440
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [ebx + 0x2c]
mov dword [esp], esi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x54]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x528e21
mov eax, dword [esp + 0x104]
movzx ecx, word [eax]
cmp cx, 0x1b
je 0x528d64
test cx, 0x2000
jne 0x528d64
xor eax, eax
jmp 0x528d75
mov eax, dword [eax + 8]
mov dword [esp + 0x164], eax
lea eax, [esp + 0x164]
test eax, eax
je 0x529014
mov dword [esp], eax
call fcn.00522ea0
mov eax, dword [esp + 4]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x60]
test edx, 0x200
jne 0x528db6
lea ebx, [0x78cbe4]
mov esi, dword [esp + 0xd4]
jmp 0x528de5
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call fcn.00492020
mov eax, dword [esp + 0x10]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
xor ebx, ebx
jmp 0x529ae8
lea ecx, [eax - 7]
cmp ecx, 4
ja 0x528f05
mov eax, dword [esp + 0x104]
movzx ecx, word [eax]
cmp cx, 0x1b
je 0x528e48
test cx, 0x2000
jne 0x528e48
xor eax, eax
jmp 0x528e59
mov eax, dword [eax + 8]
mov dword [esp + 0x168], eax
lea eax, [esp + 0x168]
test eax, eax
je 0x529014
mov dword [esp], eax
call fcn.00522ea0
mov eax, dword [esp + 4]
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x60]
test edx, 0x200
jne 0x528e9a
lea ebx, [0x78cbe4]
mov esi, dword [esp + 0xd4]
jmp 0x528ec9
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call fcn.00492020
mov eax, dword [esp + 0x10]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
xor ebx, ebx
jmp 0x529932
cmp eax, 0x18
jne 0x52960d
mov eax, dword [esp + 0x104]
movzx ecx, word [eax]
cmp cx, 0x1b
je 0x528f29
test cx, 0x2000
jne 0x528f29
xor eax, eax
jmp 0x528f3a
mov eax, dword [eax + 8]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x16c]
test eax, eax
je 0x529014
mov dword [esp], eax
call fcn.00522ea0
mov eax, dword [esp + 4]
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x60]
test edx, 0x200
jne 0x528f7b
lea ebx, [0x78cbe4]
mov esi, dword [esp + 0xd4]
jmp 0x528faa
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
mov ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call fcn.00492020
mov eax, dword [esp + 0x10]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
xor ebx, ebx
jmp 0x52988e
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00490ad0
lea edx, [0x6db1c0]
mov ebp, dword [esp + 0x1c0]
mov eax, ebp
jmp 0x527dc2
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
call fcn.004358b0
add esp, 0x1bc
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
call fcn.004358b0
add esp, 0x1bc
ret
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
call fcn.004358b0
add esp, 0x1bc
ret
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x5290b9
lea eax, [0x78cbe4]
mov ecx, dword [esp + 0x158]
jmp 0x5290df
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x48], eax
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x52911c
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x108]
jmp 0x529134
call fcn.00471840
mov ecx, dword [esp + 0xbc]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0xd
lea ecx, [0x71d870]
mov dword [eax + 0x10], ecx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x52918e
lea eax, [0x78cbe4]
mov ecx, dword [esp + 0x158]
jmp 0x5291b4
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x44], eax
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x5291f1
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x108]
jmp 0x529209
call fcn.00471840
mov ecx, dword [esp + 0xb8]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0xd
lea ecx, [0x71d87d]
mov dword [eax + 0x10], ecx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x529263
lea eax, [0x78cbe4]
mov ecx, dword [esp + 0x158]
jmp 0x529289
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x4c], eax
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x5292c6
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x108]
jmp 0x5292de
call fcn.00471840
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0xa
lea ecx, [0x71c5aa]
mov dword [eax + 0x10], ecx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x529338
lea eax, [0x78cbe4]
mov ecx, dword [esp + 0x158]
jmp 0x52935e
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov dword [esp + 0xc8], ecx
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x52939b
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x108]
jmp 0x5293b3
call fcn.00471840
mov ecx, dword [esp + 0xc8]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0x14
lea ecx, [0x720e65]
mov dword [eax + 0x10], ecx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x52940d
lea eax, [0x78cbe4]
mov ecx, dword [esp + 0x158]
jmp 0x529433
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x50], eax
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x529470
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x108]
jmp 0x529488
call fcn.00471840
mov ecx, dword [esp + 0xc4]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0x14
lea ecx, [0x720e65]
mov dword [eax + 0x10], ecx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
mov edx, dword [esp + 0xa8]
test edx, 0x200
jne 0x5294e3
lea edx, [0x78cbe4]
mov ebx, dword [esp + 0x158]
jmp 0x529518
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
lea eax, [0x72172a]
mov dword [esp], eax
mov dword [esp + 4], 0x15
lea eax, [esp + 0x170]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4c20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], ecx
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x5295b1
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x150]
jmp 0x5295d3
call fcn.00471850
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x150]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], ebx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0xa8]
test eax, 0x200
jne 0x52962a
lea eax, [0x78cbe4]
mov ecx, dword [esp + 0x158]
jmp 0x529650
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x170], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x174], edx
lea edx, [0x72502f]
mov dword [esp], edx
mov dword [esp + 4], 0x1b
lea edx, [esp + 0x170]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4c20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], ecx
lea edx, [0x6f2c20]
mov dword [esp], edx
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x5296f4
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x150]
jmp 0x529716
call fcn.00471850
mov ecx, dword [esp + 0xb4]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x150]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], ebx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
call fcn.004358b0
add esp, 0x1bc
ret
test ebx, ebx
je 0x529777
test ebx, 0x200
jne 0x529777
lea edx, [0x78cbe4]
mov ebx, dword [esp + 0x158]
jmp 0x5297a1
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00491440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x5c], edx
lea eax, [0x6f2c20]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov ecx, dword [0x93f150]
test ecx, ecx
jne 0x5297de
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x108]
jmp 0x5297f6
call fcn.00471840
mov ecx, dword [esp + 0xd0]
mov dword [edi], ecx
mov edx, dword [esp + 0x108]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x14], 0x11
lea ecx, [0x71f519]
mov dword [eax + 0x10], ecx
lea ecx, [0x78aa60]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
call fcn.004358b0
add esp, 0x1bc
ret
call fcn.004358b0
add esp, 0x1bc
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00491200
mov eax, dword [esp + 0x88]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x9c]
cmp ebx, ebp
jge 0x528fe6
mov dword [esp + 0x88], ebx
mov ebp, dword [esp + 0x144]
lea esi, [ebp + ebx*8]
mov edi, dword [esi]
mov dword [esp + 0x74], edi
mov esi, dword [esi + 4]
mov dword [esp + 0xec], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0048fd20
mov eax, dword [esp + 0x74]
lea ecx, [0x6db180]
cmp eax, ecx
je 0x52983f
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6dc400]
mov dword [esp + 8], eax
call fcn.00409bd0
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00491100
mov eax, dword [esp + 0x84]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x98]
cmp ebx, ebp
jge 0x529a41
mov dword [esp + 0x84], ebx
mov ebp, dword [esp + 0x140]
lea esi, [ebp + ebx*8]
mov edi, dword [esi]
mov dword [esp + 0x70], edi
mov esi, dword [esi + 4]
mov dword [esp + 0xe8], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0048fd20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x5299d0
mov dword [esp + 0x114], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x114]
test ebx, ebx
je 0x5299ca
movzx ebx, byte [ebx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5299c1
or ebx, 0x80
mov ebp, dword [esp + 0x118]
jmp 0x5299d4
xor ebx, ebx
xor ebp, ebp
jmp 0x5299d4
xor ebx, ebx
xor ebp, ebp
and ebx, 0x1f
mov dword [esp + 0xa4], ebx
nop
cmp ebx, 9
ja 0x529a13
cmp ebx, 7
jne 0x5299f3
mov ebx, dword [ebp]
xor ebp, ebp
jmp 0x5298fb
cmp ebx, 8
jne 0x529a03
movzx ebx, byte [ebp]
xor ebp, ebp
jmp 0x5298fb
cmp ebx, 9
jne 0x529a74
movzx ebx, word [ebp]
xor ebp, ebp
jmp 0x5298fb
cmp ebx, 0xa
jne 0x529a22
mov ebx, dword [ebp]
xor ebp, ebp
jmp 0x5298fb
cmp ebx, 0xb
jne 0x529a32
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
jmp 0x5298fb
cmp ebx, 0xc
jne 0x529a74
mov ebx, dword [ebp]
xor ebp, ebp
jmp 0x5298fb
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00490ad0
jmp 0x529014
lea eax, [0x6ed9c0]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x71fb68]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x6e2140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046a9e0
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00491010
mov eax, dword [esp + 0x80]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x94]
cmp ebx, ebp
jge 0x529bfa
mov dword [esp + 0x80], ebx
mov ebp, dword [esp + 0x13c]
lea esi, [ebp + ebx*8]
mov edi, dword [esi]
mov dword [esp + 0x6c], edi
mov esi, dword [esi + 4]
mov dword [esp + 0xe4], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0048fd20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x529b86
mov dword [esp + 0x10c], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x529b80
movzx ebx, byte [ebx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x529b77
or ebx, 0x80
mov ebp, dword [esp + 0x110]
jmp 0x529b8a
xor ebx, ebx
xor ebp, ebp
jmp 0x529b8a
xor ebx, ebx
xor ebp, ebp
and ebx, 0x1f
mov dword [esp + 0xa4], ebx
nop
cmp ebx, 3
ja 0x529bc5
cmp ebx, 2
jne 0x529bb2
mov ebx, dword [ebp]
mov ebp, ebx
sar ebx, 0x1f
mov esi, ebp
mov ebp, ebx
mov ebx, esi
jmp 0x529ab1
cmp ebx, 3
jne 0x529c2d
movsx ebx, byte [ebp]
mov ebp, ebx
sar ebp, 0x1f
jmp 0x529ab1
cmp ebx, 4
jne 0x529bd8
movsx ebx, word [ebp]
mov ebp, ebx
sar ebp, 0x1f
jmp 0x529ab1
cmp ebx, 5
jne 0x529bea
mov ebx, dword [ebp]
mov ebp, ebx
sar ebp, 0x1f
jmp 0x529ab1
cmp ebx, 6
jne 0x529c2d
mov ebx, dword [ebp]
mov ebp, dword [ebp + 4]
jmp 0x529ab1
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00490ad0
jmp 0x529014
lea eax, [0x6ed9c0]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x71f508]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x6e2140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046a9e0
lea eax, [0x6ed9c0]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x71fb68]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x6e2140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046a9e0
lea eax, [0x6ed9c0]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x71f508]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x6e2140]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046a9e0
xor eax, eax
mov ecx, eax
call fcn.004718b0
nop
call fcn.00470430
jmp fcn.00527d00