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

Disassembly:
push 0xffffffffffffffff
push 0x492abf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f8
push ebx
push ebp
push esi
mov ebp, ecx
push edi
push 0x400
lea ecx, [esp + 0x18]
mov dword [esp + 0xc4], ebp
call fcn.0048a09c
xor edi, edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x318]
mov dword [esp + 0x310], edi
cmp eax, 0xfffffffe
jne 0x425db6
push ecx
mov eax, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00401730
add esp, 4
lea ecx, [esp + 0x4c]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x48]
call fcn.00482c2a
mov ebx, dword [ebp + 0xc4]
mov esi, dword [ebp + 0xc0]
push ebx
call fcn.004634e7
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x425e32
mov ecx, ebx
mov edi, eax
mov edx, ecx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x44]
push eax
jmp 0x425e1c
cmp eax, 0xfffffffd
jne 0x425e56
push ecx
mov ecx, esp
mov dword [esp + 0x58], esp
push ecx
call fcn.00401730
add esp, 4
lea edx, [esp + 0x4c]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x48]
call fcn.00482c2a
mov ebx, dword [ebp + 0x1c4]
mov esi, dword [ebp + 0x1c0]
push ebx
call fcn.004634e7
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x425e32
mov ecx, ebx
mov edi, eax
mov eax, ecx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x44]
push ecx
lea ecx, [esp + 0x20]
call fcn.0048a124
mov dword [esp + 0x40], 0
jmp 0x4260cf
push eax
mov dword [esp + 0x314], 0xffffffff
call fcn.004633fe
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048a161
xor eax, eax
jmp 0x427e02
mov edx, dword [0x4aca3c]
mov dword [esp + 0x10], edx
cmp eax, 0xffffffff
mov byte [esp + 0x310], 1
jne 0x425e7d
push str.qsave.dat
lea ecx, [esp + 0x14]
call fcn.00482d67
jmp 0x425e90
push eax
lea eax, [esp + 0x14]
push str.save_d.dat
push eax
call fcn.0048167d
add esp, 0xc
push ecx
lea edx, [ebp + 0x3a8]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x4c]
push eax
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x48]
call fcn.00482c2a
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x4c]
push eax
call fcn.004013c0
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x314], 2
call fcn.00482d17
lea ecx, [esp + 0x48]
mov byte [esp + 0x310], 1
call fcn.00482c2a
push ecx
mov ecx, esp
mov dword [esp + 0x58], esp
push ecx
call fcn.00401730
add esp, 4
lea edx, [esp + 0x4c]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x48]
call fcn.00482c2a
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xa4]
call fcn.004831ab
push edi
push edi
push esi
lea ecx, [esp + 0xb0]
mov byte [esp + 0x31c], 3
call fcn.004832bd
test eax, eax
je 0x426071
lea eax, [esp + 0x1f0]
lea ecx, [esp + 0xa4]
push eax
call fcn.00483908
test eax, eax
je 0x425f72
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x48]
push 4
push edx
lea ecx, [esp + 0xac]
call fcn.004833da
lea eax, [esp + 0x50]
push 4
push eax
lea ecx, [esp + 0xac]
call fcn.004833da
cmp dword [esp + 0x48], 0x32564153
jne 0x426071
lea ecx, [esp + 0xa4]
call fcn.004835b7
mov ebx, eax
sub ebx, 8
js 0x426071
push ebx
call fcn.004634e7
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x426071
push ebx
push eax
lea ecx, [esp + 0xac]
call fcn.004833da
mov ecx, dword [esp + 0x3c]
push edi
push ebx
push ecx
lea ecx, [esp + 0x20]
call fcn.0048a124
xor eax, eax
cmp ebx, edi
jle 0x42606b
mov edx, dword [esp + 0x50]
mov ecx, ebx
mov dword [esp + 0x60], ecx
cmp ecx, 4
mov dword [esp + 0x4c], 0
jl 0x426012
mov ecx, 4
mov esi, dword [esp + 0x3c]
mov ebp, ecx
add esi, eax
lea edi, [esp + 0x4c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
add eax, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x4c]
sub edx, ecx
mov ecx, dword [esp + 0x60]
sub ecx, 4
cmp eax, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], ecx
jl 0x426000
mov ebp, dword [esp + 0xc0]
test edx, edx
jne 0x426071
lea ecx, [esp + 0xa4]
mov dword [esp + 0x40], edx
mov byte [esp + 0x310], 1
call fcn.00483200
jmp 0x4260be
mov edx, dword [esp + 0x50]
jmp 0x42604d
lea ecx, [esp + 0xa4]
mov byte [esp + 0x310], 1
call fcn.00483200
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 0
call fcn.00482c2a
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x310], 0xffffffff
push edx
call fcn.004633fe
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048a161
xor eax, eax
jmp 0x427e02
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 0
call fcn.00482c2a
mov ecx, ebp
call fcn.0043e180
push 3
mov ecx, ebp
call fcn.0042cd10
push fcn.00482c2a
push fcn.0040dbf0
push 5
lea eax, [esp + 0x1a4]
push 4
push eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
call fcn.00462fde
mov byte [esp + 0x310], 4
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x138]
push 4
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x13c]
push 4
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x138]
not ecx
not ebx
add eax, ecx
cmp ebx, 0x4c41594c
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], ebx
ja 0x427078
je 0x427012
cmp ebx, 0x43415453
ja 0x426935
je 0x42685b
cmp ebx, 0x32434645
ja 0x426593
je 0x4264c1
cmp ebx, 0x20524156
je 0x4263a1
cmp ebx, 0x31435445
je 0x426321
cmp ebx, 0x32434146
jne 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x86]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x86]
inc esi
not cl
mov byte [esp + esi + 0x147], cl
cmp esi, 4
jb 0x4261bf
mov edx, dword [0x4aca3c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x5e]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0x14
call dword [edx + 0x34]
mov al, byte [esp + 0x5e]
lea ecx, [esp + 0x60]
not al
mov byte [esp + 0x140], al
mov esi, dword [esp + 0x140]
and esi, 0xff
push esi
push esi
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
push esi
lea ecx, [esp + 0x64]
call fcn.0048305d
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x160]
push eax
call fcn.004013c0
add esp, 8
mov ebx, dword [esp + 0x148]
push eax
mov byte [esp + 0x314], 0x15
lea esi, [ebp + ebx*4 + 0x268]
mov ecx, esi
call fcn.00482d17
lea ecx, [esp + 0x15c]
mov byte [esp + 0x310], 0x14
call fcn.00482c2a
mov edi, dword [ebp + ebx*4 + 0x130]
test edi, edi
je 0x4262b5
mov ecx, edi
call fcn.004069a0
push edi
call fcn.004831a0
add esp, 4
mov ecx, dword [esi]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x4262cb
mov dword [ebp + ebx*4 + 0x130], 0
jmp 0x426307
push 0xf4
call fcn.00483177
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x310], 0x16
je 0x4262fe
mov esi, dword [esi]
push 0
push 0x4b73a8
push esi
push 0xffffffffffffffff
push ebp
mov ecx, eax
call fcn.004067c0
jmp 0x426300
xor eax, eax
mov dword [ebp + ebx*4 + 0x130], eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov ebx, dword [esp + 0x4c]
jmp 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x66]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x66]
inc esi
not cl
mov byte [esi + ebp + 0x217], cl
cmp esi, 4
jb 0x426323
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x68]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x68]
inc esi
not cl
mov byte [esi + ebp + 0x24b], cl
cmp esi, 4
jb 0x42634a
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x9a]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x9a]
inc esi
not cl
mov byte [esi + ebp + 0x24f], cl
cmp esi, 4
jb 0x426371
jmp 0x427c7c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427c7c
mov edx, dword [0x4aca3c]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xbc]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 5
call fcn.00407a60
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov ecx, dword [esp + 0xbc]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048305d
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x9c]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x9c]
inc esi
not cl
mov byte [esp + esi + 0x193], cl
cmp esi, 4
jb 0x426420
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x164]
push edx
push eax
lea ecx, [ebp + 0x878]
call fcn.00482287
test eax, eax
je 0x426475
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x42648b
mov eax, dword [esp + 0x194]
mov edx, dword [ebp + 0x34]
lea ecx, [ebp + 0x34]
push eax
lea eax, [esp + 0x14]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x4263c1
jmp 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6b]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6b]
inc esi
not cl
mov byte [esp + esi + 0x18b], cl
cmp esi, 4
jb 0x4264c3
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5d]
inc esi
not cl
mov byte [esp + esi + 0x157], cl
cmp esi, 4
jb 0x4264ea
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8e]
inc esi
not cl
mov byte [esp + esi + 0x11b], cl
cmp esi, 4
jb 0x426511
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5f]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5f]
inc esi
not cl
mov byte [esp + esi + 0x18f], cl
cmp esi, 4
jb 0x42653e
mov edx, dword [esp + 0x190]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x11c]
push edx
mov edx, dword [esp + 0x190]
push eax
push ecx
push 0
push edx
push 1
mov ecx, ebp
call fcn.0043eeb0
jmp 0x427c7c
cmp ebx, 0x32444e53
je 0x42672d
cmp ebx, 0x3245544d
je 0x42664a
cmp ebx, 0x3259414c
jne 0x427c7c
xor esi, esi
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x90]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x90]
inc esi
not al
mov byte [esp + esi + 0x123], al
cmp esi, 4
jb 0x4265b9
push 0xf4
call fcn.00483177
add esp, 4
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x124]
mov byte [esp + 0x310], 0x12
test eax, eax
je 0x42661f
push 0
push 0x4b73a8
push 0x4b73a8
push esi
push ebp
mov ecx, eax
call fcn.004067c0
jmp 0x426621
xor eax, eax
mov ecx, dword [ebp + 0x1d8]
lea edx, [esp + 0x14]
push edx
mov byte [esp + 0x314], 4
mov dword [ecx + esi*4], eax
mov eax, dword [ebp + 0x1d8]
mov ecx, dword [eax + esi*4]
call fcn.004077d0
jmp 0x427c7c
mov ecx, dword [0x4aca3c]
mov dword [esp + 0x10], ecx
mov byte [esp + 0x310], 0x13
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x65]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x65]
inc esi
not cl
mov byte [esi + 0x4b7f7f], cl
cmp esi, 4
jb 0x42665e
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x92]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x92]
inc esi
not cl
mov byte [esi + 0x4b7f87], cl
cmp esi, 4
jb 0x426684
lea edx, [esp + 0xe0]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
call fcn.0048305d
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x310], 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4b7f8c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x10]
jmp 0x427c77
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427c7c
mov edx, dword [0x4aca3c]
mov dword [esp + 0x10], edx
mov byte [esp + 0x310], 0x17
xor esi, esi
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x67]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x67]
inc esi
not al
mov byte [esp + esi + 0x12b], al
cmp esi, 4
jb 0x426761
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x94]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x94]
lea ecx, [esp + 0x10]
not al
mov byte [esp + 0x160], al
mov esi, dword [esp + 0x160]
and esi, 0xff
push esi
push esi
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
push esi
lea ecx, [esp + 0x14]
call fcn.0048305d
mov esi, dword [esp + 0x12c]
cmp esi, 5
jae 0x4267f4
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + esi*4 + 0x19c]
call fcn.00482d17
lea edx, [esi + esi*2]
shl edx, 4
xor esi, esi
lea edi, [edx + ebp + 0x9e8]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x69]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x69]
inc esi
not al
mov byte [esi + edi - 1], al
cmp esi, 4
jb 0x426803
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x42674d
jmp 0x427c7c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x96]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x96]
inc esi
not cl
mov byte [esp + esi + 0x14f], cl
cmp esi, 4
jb 0x42687d
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x98]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x98]
inc esi
not cl
mov byte [esp + esi + 0x153], cl
cmp esi, 4
jb 0x4268aa
mov edx, dword [ebp + 0x90]
lea esi, [ebp + 0x88]
push 0
push edx
mov ecx, esi
call fcn.004475c0
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x42690a
mov dword [ecx], eax
jmp 0x42690d
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x42687b
jmp 0x427c7c
cmp ebx, 0x444e4957
ja 0x426cc2
je 0x426bf6
cmp ebx, 0x4346504d
je 0x426b9c
cmp ebx, 0x43494c43
je 0x426a54
cmp ebx, 0x43534c53
jne 0x427c7c
mov edx, dword [0x4aca3c]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xc4]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0xe
call fcn.00407a60
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov ecx, dword [esp + 0xc4]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048305d
push 1
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x190]
push eax
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x314], 0xf
call fcn.00409e30
push eax
mov ecx, ebp
call fcn.00440070
lea ecx, [esp + 0x188]
mov byte [esp + 0x310], 0xe
call fcn.00482c2a
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x87]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x87]
inc esi
not al
mov byte [esi + ebp + 0x1af], al
cmp esi, 4
jb 0x426a18
mov byte [esp + 0x310], 4
lea ecx, [esp + 0x10]
jmp 0x427c77
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x426b8e
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6d]
inc esi
not cl
mov byte [esp + esi + 0x16b], cl
cmp esi, 4
jb 0x426a76
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x95]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x95]
inc esi
not cl
mov byte [esp + esi + 0x16f], cl
cmp esi, 4
jb 0x426a9d
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6f]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6f]
inc esi
not cl
mov byte [esp + esi + 0x173], cl
cmp esi, 4
jb 0x426aca
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x89]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x89]
inc esi
not cl
mov byte [esp + esi + 0x177], cl
cmp esi, 4
jb 0x426af1
mov edx, dword [ebp + 0x82c]
lea esi, [ebp + 0x824]
push 0
push edx
mov ecx, esi
call fcn.00447880
mov edx, dword [esp + 0x16c]
lea ecx, [eax + 8]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x170]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x174]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x178]
mov dword [ecx + 0xc], edx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x426b68
mov dword [ecx], eax
jmp 0x426b6b
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x426a74
push 5
mov ecx, ebp
call fcn.0042cd10
jmp 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x71]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x71]
inc esi
not cl
mov byte [esi + 0x4b7dc7], cl
cmp esi, 0x100
jb 0x426b9e
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x9e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x9e]
inc esi
not cl
mov byte [esi + 0x4b7ec7], cl
cmp esi, 4
jb 0x426bc7
jmp 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x73]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x73]
inc esi
not cl
mov byte [esi + ebp + 0x263], cl
cmp esi, 4
jb 0x426bf8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8b]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8b]
inc esi
not cl
mov byte [esp + esi + 0x133], cl
cmp esi, 4
jb 0x426c1f
mov edx, dword [esp + 0x134]
mov ecx, ebp
push edx
call fcn.0043ea50
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x75]
push 1
push eax
lea ecx, [esp + 0x1c]
lea edi, [ebp + 0x260]
call dword [edx + 0x34]
mov al, byte [esp + 0x75]
mov ecx, edi
not al
mov byte [esp + 0x168], al
mov esi, dword [esp + 0x168]
and esi, 0xff
push esi
push esi
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
push esi
mov ecx, edi
call fcn.0048305d
mov ecx, dword [ebp + 0x264]
mov eax, dword [0x4a70e0]
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [ebp + 0x278], ecx
jmp 0x427c7c
cmp ebx, 0x454d414e
je 0x426f67
cmp ebx, 0x45544144
je 0x426e87
cmp ebx, 0x4b4f4c43
jne 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x97]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x97]
inc esi
not cl
mov byte [esi + 0x4b7ed7], cl
cmp esi, 4
jb 0x426ce8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x77]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x77]
inc esi
not cl
mov byte [esi + 0x4b7edf], cl
cmp esi, 4
jb 0x426d14
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8d]
inc esi
not cl
mov byte [esi + 0x4b7ef7], cl
cmp esi, 4
jb 0x426d3a
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x79]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x79]
inc esi
not cl
mov byte [esi + 0x4b7ee3], cl
cmp esi, 4
jb 0x426d66
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x9d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x9d]
inc esi
not cl
mov byte [esi + 0x4b7ee7], cl
cmp esi, 4
jb 0x426d8c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7b]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7b]
inc esi
not cl
mov byte [esi + 0x4b7eeb], cl
cmp esi, 4
jb 0x426db8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8f]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8f]
inc esi
not cl
mov byte [esi + 0x4b7eef], cl
cmp esi, 4
jb 0x426dde
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7d]
inc esi
not cl
mov byte [esi + 0x4b7eff], cl
cmp esi, 4
jb 0x426e0a
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x99]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x99]
inc esi
not cl
mov byte [esp + esi + 0x10f], cl
cmp esi, 4
jb 0x426e30
mov eax, dword [esp + 0x110]
test eax, eax
je 0x426e77
mov edx, dword [ebp + 0x1cc]
mov dword [0x4b7ed0], edx
jmp 0x427c7c
mov eax, dword [ebp + 0x1c8]
mov dword [0x4b7ed0], eax
jmp 0x427c7c
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x7f]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x7f]
inc esi
not al
mov byte [esi + ebp + 0x287], al
cmp esi, 4
jb 0x426e89
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x91]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x91]
inc esi
not al
mov byte [esi + ebp + 0x28b], al
cmp esi, 4
jb 0x426eb0
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x81]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x81]
inc esi
not al
mov byte [esi + ebp + 0x28f], al
cmp esi, 4
jb 0x426edd
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x9f]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x9f]
inc esi
not al
mov byte [esi + ebp + 0x293], al
cmp esi, 4
jb 0x426f0a
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x83]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x83]
inc esi
not al
mov byte [esi + ebp + 0x297], al
cmp esi, 4
jb 0x426f37
jmp 0x427c7c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x93]
push 1
push ecx
lea ecx, [esp + 0x1c]
lea edi, [ebp + 0x9c8]
call dword [edx + 0x34]
mov al, byte [esp + 0x93]
mov ecx, edi
not al
mov byte [esp + 0x180], al
mov esi, dword [esp + 0x180]
and esi, 0xff
push esi
push esi
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
push esi
mov ecx, edi
call fcn.0048305d
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x85]
push 1
push ecx
lea ecx, [esp + 0x1c]
lea edi, [ebp + 0x9cc]
call dword [edx + 0x34]
mov al, byte [esp + 0x85]
not al
mov byte [esp + 0x144], al
mov esi, dword [esp + 0x144]
and esi, 0xff
mov ecx, edi
push esi
push esi
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
push esi
mov ecx, edi
call fcn.0048305d
jmp 0x427c7c
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x9b]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x9b]
inc esi
not al
mov byte [esp + esi + 0x17b], al
cmp esi, 4
jb 0x427014
mov ecx, dword [ebp + 0x1f4]
mov edx, dword [esp + 0x17c]
xor esi, esi
lea edi, [ecx + edx*4]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x6a]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x6a]
inc esi
not al
mov byte [esi + edi - 1], al
cmp esi, 4
jb 0x427051
jmp 0x427c7c
cmp ebx, 0x52475250
ja 0x42763c
je 0x427613
cmp ebx, 0x4d47424d
ja 0x4272da
je 0x4271cf
cmp ebx, 0x4c534349
je 0x42715d
cmp ebx, 0x4c544954
je 0x42712c
cmp ebx, 0x4d455449
jne 0x427c7c
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x6c]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x6c]
inc esi
not al
mov byte [esp + esi + 0xa3], al
cmp esi, 0xd
jb 0x4270be
xor esi, esi
mov edi, 0x4b7900
mov ecx, esi
mov edx, 1
and ecx, 7
mov eax, esi
shl edx, cl
mov dword [esp + 0x4c], edx
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x4c]
sar eax, 3
mov cl, byte [esp + eax + 0xa4]
and dl, cl
neg dl
sbb edx, edx
add edi, 4
neg edx
mov dword [edi - 4], edx
inc esi
cmp edi, 0x4b7a90
jl 0x4270ea
jmp 0x427c7c
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x6e]
push 1
push eax
lea ecx, [esp + 0x1c]
lea edi, [ebp + 0x274]
call dword [edx + 0x34]
mov al, byte [esp + 0x6e]
not al
mov byte [esp + 0x14c], al
mov esi, dword [esp + 0x14c]
jmp 0x426fec
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x70]
inc esi
not al
mov byte [esi + 0x4b800f], al
cmp esi, 0x440
jb 0x42715f
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x72]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x72]
inc esi
not al
mov byte [esi + 0x4b7f07], al
cmp esi, 0x40
jb 0x427188
push 0
push 0
mov ecx, ebp
call fcn.00440280
push 0
push ebp
call fcn.004122a0
add esp, 8
mov ecx, ebp
push eax
call fcn.0042d200
jmp 0x427c7c
mov edx, dword [esp + 0x14]
mov esi, dword [ebp + 0xa8]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427c7c
test esi, esi
je 0x427c7c
mov edx, dword [0x4aca3c]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xcc]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0xb
call fcn.00407a60
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov ecx, dword [esp + 0xcc]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048305d
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x188]
push eax
call fcn.004013c0
add esp, 8
mov ecx, esi
mov esi, dword [esi]
push eax
add ecx, 0x18
mov byte [esp + 0x314], 0xc
call fcn.00482d17
lea ecx, [esp + 0x184]
mov byte [esp + 0x310], 0xb
call fcn.00482c2a
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x4271f5
jmp 0x427c7c
cmp ebx, 0x4e495744
je 0x4275d0
cmp ebx, 0x504d4c43
je 0x4275a4
cmp ebx, 0x50524353
jne 0x427c7c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427c7c
mov eax, dword [0x4aca3c]
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov byte [esp + 0x310], 7
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x74]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x74]
inc esi
not cl
mov byte [esp + esi + 0x117], cl
cmp esi, 4
jb 0x42733b
lea edx, [esp + 0xd4]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x104]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x104]
and eax, 0xff
push eax
call fcn.0048305d
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x76]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x76]
inc esi
not al
mov byte [esp + esi + 0xfb], al
cmp esi, 8
jb 0x4273b2
push ecx
lea edx, [esp + 0x108]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x118]
push eax
call fcn.004013c0
add esp, 8
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x314], 8
call fcn.00482d17
lea ecx, [esp + 0x114]
mov byte [esp + 0x310], 7
call fcn.00482c2a
mov eax, dword [esp + 0x118]
xor ecx, ecx
cmp eax, 2
mov dword [esp + 0xf8], 0
sete cl
test eax, eax
mov dword [esp + 0x10c], ecx
jne 0x42751e
push ecx
lea edx, [esp + 0x108]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.0048299f
lea eax, [esp + 0x124]
push eax
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x120]
call fcn.00482c2a
mov ecx, dword [esp + 0x104]
push ecx
call fcn.00401ab0
mov ecx, eax
call fcn.004021f0
mov esi, eax
test esi, esi
je 0x4274f2
push 0
push 0x1000
push 1
push esi
lea ecx, [esp + 0x1bc]
call fcn.00488f75
lea edx, [esp + 0x1ac]
push 0
push edx
mov byte [esp + 0x318], 9
call fcn.0040ca10
mov dword [esp + 0x100], eax
mov eax, dword [esi]
add esp, 8
mov ecx, esi
call dword [eax + 0x4c]
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x310], 7
call fcn.00489051
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 4]
push ecx
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call fcn.00401730
add esp, 4
lea ecx, [esp + 0x12c]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x128]
call fcn.00482c2a
mov edx, dword [ebp + 0xac]
lea esi, [ebp + 0xa4]
push 0
push edx
mov ecx, esi
call fcn.00447680
mov edi, eax
lea eax, [esp + 0xf8]
push eax
lea ecx, [edi + 8]
call fcn.00447470
mov eax, dword [esi + 8]
test eax, eax
je 0x427551
mov dword [eax], edi
jmp 0x427554
mov dword [esi + 4], edi
mov dword [esi + 8], edi
lea ecx, [esp + 0x108]
mov byte [esp + 0x310], 0xa
call fcn.00482c2a
lea ecx, [esp + 0x104]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x42731e
jmp 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x78]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x78]
inc esi
not cl
mov byte [esi + ebp + 0x22b], cl
cmp esi, 4
jb 0x4275a6
jmp 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7a]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7a]
inc esi
not cl
mov byte [esi + ebp + 0x27f], cl
cmp esi, 4
jb 0x4275d2
mov edx, dword [ebp + 0x280]
mov eax, dword [0x4a70e0]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp + 0x284], edx
jmp 0x427c7c
xor esi, esi
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x7c]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x7c]
inc esi
not al
mov byte [esp + esi + 0x47], al
cmp esi, 4
jb 0x427615
jmp 0x427c7c
cmp ebx, 0x54584554
ja 0x427b75
je 0x4279a1
cmp ebx, 0x54434c53
je 0x427836
cmp ebx, 0x544e5645
je 0x4276c0
cmp ebx, 0x54504e49
jne 0x427c7c
lea ecx, [esp + 0xdc]
push 1
push ecx
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xdc]
mov ecx, 0x4b7f7c
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov edx, dword [esp + 0xdc]
mov ecx, 0x4b7f7c
and edx, 0xff
push edx
call fcn.0048305d
jmp 0x427c7c
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427c7c
mov edx, dword [0x4aca3c]
mov dword [esp + 0x10], edx
push 8
mov byte [esp + 0x314], 6
call fcn.00483177
add esp, 4
mov esi, eax
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x14]
push 1
push eax
call fcn.00407a60
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov ecx, dword [esp + 0xd8]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048305d
xor edi, edi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7e]
inc edi
not cl
mov byte [esi + edi + 3], cl
cmp edi, 4
jb 0x42774b
mov eax, dword [esi + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00483177
mov ebx, eax
mov eax, dword [esi + 4]
cdq
and edx, 7
add esp, 4
add eax, edx
mov dword [esi], ebx
mov ebp, eax
mov edi, 0
sar ebp, 3
je 0x4277c2
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x80]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x80]
inc edi
not cl
mov byte [edi + ebx - 1], cl
cmp edi, ebp
jb 0x42779b
push esi
push ecx
mov esi, esp
mov dword [esp + 0xa8], esp
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0xac], esp
push edx
call fcn.0048299f
push esi
call fcn.004013c0
mov ebp, dword [esp + 0xd0]
add esp, 8
lea ecx, [ebp + 0x100]
call fcn.00445a50
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x4276e0
mov ebx, dword [esp + 0x4c]
jmp 0x427c7c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427993
mov edx, dword [0x4aca3c]
mov dword [esp + 0xb4], edx
lea eax, [esp + 0xc8]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0xd
call fcn.00407a60
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xb4]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov ecx, dword [esp + 0xc8]
and ecx, 0xff
push ecx
lea ecx, [esp + 0xb8]
call fcn.0048305d
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x82]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x82]
inc esi
not cl
mov byte [esp + esi + 0x9f], cl
cmp esi, 4
jb 0x4278be
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x84]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x84]
inc esi
not cl
mov byte [esp + esi + 0xb7], cl
cmp esi, 4
jb 0x4278eb
mov edx, dword [ebp + 0x810]
lea esi, [ebp + 0x808]
push 0
push edx
mov ecx, esi
call fcn.00447810
mov edi, eax
lea eax, [esp + 0xb4]
push eax
lea ebx, [edi + 8]
mov ecx, ebx
call fcn.00482d17
mov ecx, dword [esp + 0xb8]
mov dword [ebx + 4], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x427955
mov dword [eax], edi
jmp 0x427958
mov dword [esi + 4], edi
lea ecx, [esp + 0xb4]
mov dword [esi + 8], edi
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x427856
mov ebx, dword [esp + 0x4c]
push 4
mov ecx, ebp
call fcn.0042cd10
jmp 0x427c7c
cmp dword [esp + 0x50], 0x20
jge 0x427c7c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x427b6c
mov eax, dword [0x4aca3c]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
lea edx, [esp + 0xe4]
push 1
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0x10
call fcn.00407a60
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0xe8]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0xe8]
and eax, 0xff
push eax
call fcn.0048305d
lea ecx, [esp + 0xd0]
push 1
push ecx
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xec]
and eax, 0xff
push eax
push eax
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
mov edx, dword [esp + 0xd0]
lea ecx, [esp + 0xec]
and edx, 0xff
push edx
call fcn.0048305d
xor esi, esi
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x5b]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x5b]
inc esi
not al
mov byte [esp + esi + 0xef], al
cmp esi, 4
jb 0x427a8a
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x88]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x88]
inc esi
not al
mov byte [esp + esi + 0xf3], al
cmp esi, 4
jb 0x427ab1
mov eax, dword [esp + 0x50]
push 0
lea ecx, [eax*8]
sub ecx, eax
mov edx, dword [ebp + ecx*4 + 0x474]
lea esi, [ebp + ecx*4 + 0x46c]
push edx
mov ecx, esi
call fcn.00447720
mov edi, eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [edi + 8]
call fcn.004474d0
mov eax, dword [esi + 8]
test eax, eax
je 0x427b1e
mov dword [eax], edi
jmp 0x427b21
mov dword [esi + 4], edi
mov dword [esi + 8], edi
lea ecx, [esp + 0xec]
mov byte [esp + 0x310], 0x11
call fcn.00482c2a
lea ecx, [esp + 0xe8]
mov byte [esp + 0x310], 4
call fcn.00482c2a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x4279cc
inc dword [esp + 0x50]
jmp 0x427c7c
cmp ebx, 0x5654534c
je 0x427bf1
cmp ebx, 0x5759454b
jne 0x427c7c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8a]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8a]
inc esi
not cl
mov byte [esi + ebp + 0x207], cl
cmp esi, 4
jb 0x427b8b
push 2
mov ecx, ebp
call fcn.0042cd10
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8c]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8c]
inc esi
not cl
mov byte [esi + ebp + 0x1ab], cl
cmp esi, 4
jb 0x427bc1
jmp 0x427c7c
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5c]
push 1
push edx
lea ecx, [esp + 0x1c]
lea esi, [ebp + 0x270]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5c]
not cl
mov byte [esp + 0x130], cl
mov edi, dword [esp + 0x130]
and edi, 0xff
mov ecx, esi
push edi
push edi
call fcn.0048300e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407a60
push edi
mov ecx, esi
call fcn.0048305d
push ecx
mov ecx, esp
mov dword [esp + 0xa4], esp
push esi
call fcn.0048299f
lea edx, [esp + 0x58]
push edx
call fcn.004013c0
add esp, 8
push eax
mov ecx, esi
mov byte [esp + 0x314], 0x18
call fcn.00482d17
mov byte [esp + 0x310], 4
lea ecx, [esp + 0x54]
call fcn.00482c2a
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
push 0
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x28]
cmp ebx, 0x20444e45
mov dword [esp + 0x40], 0
jne 0x426112
xor esi, esi
lea edi, [esp + 0x198]
lea ebx, [ebp + 0x9e8]
mov eax, dword [edi]
push 0
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x427cc6
push esi
mov ecx, ebp
call fcn.00440c70
jmp 0x427d15
mov ecx, dword [ebx]
push ecx
push 0
push 0
push 1
push esi
push ecx
mov ecx, esp
mov dword [esp + 0xbc], esp
push edi
call fcn.0048299f
lea edx, [esp + 0x70]
push edx
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x328], 0x19
call fcn.00409e30
push eax
mov ecx, ebp
call fcn.00440360
lea ecx, [esp + 0x54]
mov byte [esp + 0x310], 4
call fcn.00482c2a
inc esi
add ebx, 0x30
add edi, 4
cmp esi, 5
jl 0x427cb1
push 0x4a9c64
mov ecx, ebp
call fcn.004408a0
push 0x4a9c98
mov ecx, ebp
call fcn.004408a0
mov eax, dword [esp + 0x318]
test eax, eax
jl 0x427d4a
mov dword [ebp + 0x2b4], eax
cmp eax, 0xfffffffe
jne 0x427d8b
mov eax, dword [ebp + 0xc0]
lea esi, [ebp + 0xc0]
push eax
call fcn.004633fe
add esp, 4
mov eax, esi
mov ecx, 7
mov edx, dword [eax + 8]
mov dword [eax], edx
mov edx, dword [eax + 0xc]
mov dword [eax + 4], edx
add eax, 8
dec ecx
jne 0x427d6b
lea ecx, [ebp + 0xf8]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x427d97
cmp eax, 0xfffffffd
je 0x427d97
mov ecx, ebp
call fcn.00427e50
mov esi, dword [ebp + 0x438]
mov ecx, ebp
mov dword [ebp + 0x438], 0
call fcn.004222e0
mov edx, dword [esp + 0x48]
push fcn.00482c2a
push 5
lea eax, [esp + 0x1a0]
push 4
push eax
mov dword [ebp + 0x438], esi
mov dword [ebp + 0x3c0], edx
mov byte [esp + 0x320], 0
call fcn.00463060
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x310], 0xffffffff
push ecx
call fcn.004633fe
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048a161
mov eax, 1
mov ecx, dword [esp + 0x308]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x304
ret 4