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

Disassembly:
push 0xffffffffffffffff
push 0x4953cf
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.0048c89c
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 0x426a16
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.0048542a
mov ebx, dword [ebp + 0xc4]
mov esi, dword [ebp + 0xc0]
push ebx
call fcn.00465ce1
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x426a92
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 0x426a7c
cmp eax, 0xfffffffd
jne 0x426ab6
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.0048542a
mov ebx, dword [ebp + 0x1c4]
mov esi, dword [ebp + 0x1c0]
push ebx
call fcn.00465ce1
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x426a92
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.0048c924
mov dword [esp + 0x40], 0
jmp 0x426d2f
push eax
mov dword [esp + 0x314], 0xffffffff
call fcn.00465bf8
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048c961
xor eax, eax
jmp 0x428a62
mov edx, dword [0x4afb38]
mov dword [esp + 0x10], edx
cmp eax, 0xffffffff
mov byte [esp + 0x310], 1
jne 0x426add
push str.qsave.dat
lea ecx, [esp + 0x14]
call fcn.00485567
jmp 0x426af0
push eax
lea eax, [esp + 0x14]
push str.save_d.dat
push eax
call fcn.00483e7d
add esp, 0xc
push ecx
lea edx, [ebp + 0x3a8]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.0048519f
lea eax, [esp + 0x4c]
push eax
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x48]
call fcn.0048542a
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.0048519f
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.00485517
lea ecx, [esp + 0x48]
mov byte [esp + 0x310], 1
call fcn.0048542a
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.0048542a
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0xa4]
call fcn.004859ab
push edi
push edi
push esi
lea ecx, [esp + 0xb0]
mov byte [esp + 0x31c], 3
call fcn.00485abd
test eax, eax
je 0x426cd1
lea eax, [esp + 0x1f0]
lea ecx, [esp + 0xa4]
push eax
call fcn.00486108
test eax, eax
je 0x426bd2
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x48]
push 4
push edx
lea ecx, [esp + 0xac]
call fcn.00485bda
lea eax, [esp + 0x50]
push 4
push eax
lea ecx, [esp + 0xac]
call fcn.00485bda
cmp dword [esp + 0x48], 0x32564153
jne 0x426cd1
lea ecx, [esp + 0xa4]
call fcn.00485db7
mov ebx, eax
sub ebx, 8
js 0x426cd1
push ebx
call fcn.00465ce1
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x426cd1
push ebx
push eax
lea ecx, [esp + 0xac]
call fcn.00485bda
mov ecx, dword [esp + 0x3c]
push edi
push ebx
push ecx
lea ecx, [esp + 0x20]
call fcn.0048c924
xor eax, eax
cmp ebx, edi
jle 0x426ccb
mov edx, dword [esp + 0x50]
mov ecx, ebx
mov dword [esp + 0x60], ecx
cmp ecx, 4
mov dword [esp + 0x4c], 0
jl 0x426c72
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 0x426c60
mov ebp, dword [esp + 0xc0]
test edx, edx
jne 0x426cd1
lea ecx, [esp + 0xa4]
mov dword [esp + 0x40], edx
mov byte [esp + 0x310], 1
call fcn.00485a00
jmp 0x426d1e
mov edx, dword [esp + 0x50]
jmp 0x426cad
lea ecx, [esp + 0xa4]
mov byte [esp + 0x310], 1
call fcn.00485a00
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 0
call fcn.0048542a
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x310], 0xffffffff
push edx
call fcn.00465bf8
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048c961
xor eax, eax
jmp 0x428a62
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 0
call fcn.0048542a
mov ecx, ebp
call fcn.0043f970
push 3
mov ecx, ebp
call fcn.0042d9f0
push fcn.0048542a
push fcn.00441870
push 5
lea eax, [esp + 0x1a4]
push 4
push eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
call fcn.004657ee
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 0x427cd8
je 0x427c72
cmp ebx, 0x43415453
ja 0x427595
je 0x4274bb
cmp ebx, 0x32434645
ja 0x4271f3
je 0x427121
cmp ebx, 0x20524156
je 0x427001
cmp ebx, 0x31435445
je 0x426f81
cmp ebx, 0x32434146
jne 0x4288dc
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 0x426e1f
mov edx, dword [0x4afb38]
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.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
push esi
lea ecx, [esp + 0x64]
call fcn.0048585d
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0048519f
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.00485517
lea ecx, [esp + 0x15c]
mov byte [esp + 0x310], 0x14
call fcn.0048542a
mov edi, dword [ebp + ebx*4 + 0x130]
test edi, edi
je 0x426f15
mov ecx, edi
call fcn.00406dc0
push edi
call fcn.004859a0
add esp, 4
mov ecx, dword [esi]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x426f2b
mov dword [ebp + ebx*4 + 0x130], 0
jmp 0x426f67
push 0xf4
call fcn.00485977
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x310], 0x16
je 0x426f5e
mov esi, dword [esi]
push 0
push 0x4ba4a8
push esi
push 0xffffffffffffffff
push ebp
mov ecx, eax
call fcn.00406be0
jmp 0x426f60
xor eax, eax
mov dword [ebp + ebx*4 + 0x130], eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x310], 4
call fcn.0048542a
mov ebx, dword [esp + 0x4c]
jmp 0x4288dc
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 0x426f83
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 0x426faa
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 0x426fd1
jmp 0x4288dc
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 0x4288dc
mov edx, dword [0x4afb38]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xbc]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 5
call fcn.00407e90
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov ecx, dword [esp + 0xbc]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048585d
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 0x427080
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x164]
push edx
push eax
lea ecx, [ebp + 0x878]
call fcn.00484a87
test eax, eax
je 0x4270d5
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4270eb
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.0048542a
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 0x427021
jmp 0x4288dc
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 0x427123
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 0x42714a
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 0x427171
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 0x42719e
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.004406b0
jmp 0x4288dc
cmp ebx, 0x32444e53
je 0x42738d
cmp ebx, 0x3245544d
je 0x4272aa
cmp ebx, 0x3259414c
jne 0x4288dc
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 0x427219
push 0xf4
call fcn.00485977
add esp, 4
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x124]
mov byte [esp + 0x310], 0x12
test eax, eax
je 0x42727f
push 0
push 0x4ba4a8
push 0x4ba4a8
push esi
push ebp
mov ecx, eax
call fcn.00406be0
jmp 0x427281
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.00407c00
jmp 0x4288dc
mov ecx, dword [0x4afb38]
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 + 0x4bb07f], cl
cmp esi, 4
jb 0x4272be
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 + 0x4bb087], cl
cmp esi, 4
jb 0x4272e4
lea edx, [esp + 0xe0]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
call fcn.0048585d
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, 0x4bb08c
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 0x4288d7
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 0x4288dc
mov edx, dword [0x4afb38]
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 0x4273c1
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.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
push esi
lea ecx, [esp + 0x14]
call fcn.0048585d
mov esi, dword [esp + 0x12c]
cmp esi, 5
jae 0x427454
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + esi*4 + 0x19c]
call fcn.00485517
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 0x427463
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.0048542a
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 0x4273ad
jmp 0x4288dc
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 0x4288dc
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 0x4274dd
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 0x42750a
mov edx, dword [ebp + 0x90]
lea esi, [ebp + 0x88]
push 0
push edx
mov ecx, esi
call fcn.00448ed0
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 0x42756a
mov dword [ecx], eax
jmp 0x42756d
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 0x4274db
jmp 0x4288dc
cmp ebx, 0x444e4957
ja 0x427922
je 0x427856
cmp ebx, 0x4346504d
je 0x4277fc
cmp ebx, 0x43494c43
je 0x4276b4
cmp ebx, 0x43534c53
jne 0x4288dc
mov edx, dword [0x4afb38]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xc4]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0xe
call fcn.00407e90
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov ecx, dword [esp + 0xc4]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048585d
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.0048519f
lea eax, [esp + 0x190]
push eax
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x314], 0xf
call fcn.0040a270
push eax
mov ecx, ebp
call fcn.00441880
lea ecx, [esp + 0x188]
mov byte [esp + 0x310], 0xe
call fcn.0048542a
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 0x427678
mov byte [esp + 0x310], 4
lea ecx, [esp + 0x10]
jmp 0x4288d7
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 0x4277ee
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 0x4276d6
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 0x4276fd
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 0x42772a
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 0x427751
mov edx, dword [ebp + 0x82c]
lea esi, [ebp + 0x824]
push 0
push edx
mov ecx, esi
call fcn.00449190
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 0x4277c8
mov dword [ecx], eax
jmp 0x4277cb
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 0x4276d4
push 5
mov ecx, ebp
call fcn.0042d9f0
jmp 0x4288dc
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 + 0x4baec7], cl
cmp esi, 0x100
jb 0x4277fe
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 + 0x4bafc7], cl
cmp esi, 4
jb 0x427827
jmp 0x4288dc
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 0x427858
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 0x42787f
mov edx, dword [esp + 0x134]
mov ecx, ebp
push edx
call fcn.00440250
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.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
push esi
mov ecx, edi
call fcn.0048585d
mov ecx, dword [ebp + 0x264]
mov eax, dword [0x4aa0e0]
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [ebp + 0x278], ecx
jmp 0x4288dc
cmp ebx, 0x454d414e
je 0x427bc7
cmp ebx, 0x45544144
je 0x427ae7
cmp ebx, 0x4b4f4c43
jne 0x4288dc
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 + 0x4bafd7], cl
cmp esi, 4
jb 0x427948
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 + 0x4bafdf], cl
cmp esi, 4
jb 0x427974
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 + 0x4baff7], cl
cmp esi, 4
jb 0x42799a
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 + 0x4bafe3], cl
cmp esi, 4
jb 0x4279c6
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 + 0x4bafe7], cl
cmp esi, 4
jb 0x4279ec
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 + 0x4bafeb], cl
cmp esi, 4
jb 0x427a18
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 + 0x4bafef], cl
cmp esi, 4
jb 0x427a3e
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 + 0x4bafff], cl
cmp esi, 4
jb 0x427a6a
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 0x427a90
mov eax, dword [esp + 0x110]
test eax, eax
je 0x427ad7
mov edx, dword [ebp + 0x1cc]
mov dword [0x4bafd0], edx
jmp 0x4288dc
mov eax, dword [ebp + 0x1c8]
mov dword [0x4bafd0], eax
jmp 0x4288dc
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 0x427ae9
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 0x427b10
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 0x427b3d
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 0x427b6a
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 0x427b97
jmp 0x4288dc
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.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
push esi
mov ecx, edi
call fcn.0048585d
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.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
push esi
mov ecx, edi
call fcn.0048585d
jmp 0x4288dc
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 0x427c74
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 0x427cb1
jmp 0x4288dc
cmp ebx, 0x52475250
ja 0x42829c
je 0x428273
cmp ebx, 0x4d47424d
ja 0x427f3a
je 0x427e2f
cmp ebx, 0x4c534349
je 0x427dbd
cmp ebx, 0x4c544954
je 0x427d8c
cmp ebx, 0x4d455449
jne 0x4288dc
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 0x427d1e
xor esi, esi
mov edi, 0x4baa00
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, 0x4bab90
jl 0x427d4a
jmp 0x4288dc
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 0x427c4c
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 + 0x4bb10f], al
cmp esi, 0x440
jb 0x427dbf
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 + 0x4bb007], al
cmp esi, 0x40
jb 0x427de8
push 0
push 0
mov ecx, ebp
call fcn.00441a90
push 0
push ebp
call fcn.00412710
add esp, 8
mov ecx, ebp
push eax
call fcn.0042dee0
jmp 0x4288dc
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 0x4288dc
test esi, esi
je 0x4288dc
mov edx, dword [0x4afb38]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xcc]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0xb
call fcn.00407e90
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov ecx, dword [esp + 0xcc]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048585d
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.0048519f
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.00485517
lea ecx, [esp + 0x184]
mov byte [esp + 0x310], 0xb
call fcn.0048542a
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.0048542a
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 0x427e55
jmp 0x4288dc
cmp ebx, 0x4e495744
je 0x428230
cmp ebx, 0x504d4c43
je 0x428204
cmp ebx, 0x50524353
jne 0x4288dc
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 0x4288dc
mov eax, dword [0x4afb38]
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 0x427f9b
lea edx, [esp + 0xd4]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x104]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0x104]
and eax, 0xff
push eax
call fcn.0048585d
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 0x428012
push ecx
lea edx, [esp + 0x108]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.0048519f
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.00485517
lea ecx, [esp + 0x114]
mov byte [esp + 0x310], 7
call fcn.0048542a
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 0x42817e
push ecx
lea edx, [esp + 0x108]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.0048519f
lea eax, [esp + 0x124]
push eax
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x120]
call fcn.0048542a
mov ecx, dword [esp + 0x104]
push ecx
call fcn.00401ab0
mov ecx, eax
call fcn.004021f0
mov esi, eax
test esi, esi
je 0x428152
push 0
push 0x1000
push 1
push esi
lea ecx, [esp + 0x1bc]
call fcn.0048b775
lea edx, [esp + 0x1ac]
push 0
push edx
mov byte [esp + 0x318], 9
call fcn.0040ce20
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.0048b851
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.0048542a
mov edx, dword [ebp + 0xac]
lea esi, [ebp + 0xa4]
push 0
push edx
mov ecx, esi
call fcn.00448f90
mov edi, eax
lea eax, [esp + 0xf8]
push eax
lea ecx, [edi + 8]
call fcn.00448d80
mov eax, dword [esi + 8]
test eax, eax
je 0x4281b1
mov dword [eax], edi
jmp 0x4281b4
mov dword [esi + 4], edi
mov dword [esi + 8], edi
lea ecx, [esp + 0x108]
mov byte [esp + 0x310], 0xa
call fcn.0048542a
lea ecx, [esp + 0x104]
mov byte [esp + 0x310], 4
call fcn.0048542a
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 0x427f7e
jmp 0x4288dc
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 0x428206
jmp 0x4288dc
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 0x428232
mov edx, dword [ebp + 0x280]
mov eax, dword [0x4aa0e0]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebp + 0x284], edx
jmp 0x4288dc
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 0x428275
jmp 0x4288dc
cmp ebx, 0x54584554
ja 0x4287d5
je 0x428601
cmp ebx, 0x54434c53
je 0x428496
cmp ebx, 0x544e5645
je 0x428320
cmp ebx, 0x54504e49
jne 0x4288dc
lea ecx, [esp + 0xdc]
push 1
push ecx
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xdc]
mov ecx, 0x4bb07c
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov edx, dword [esp + 0xdc]
mov ecx, 0x4bb07c
and edx, 0xff
push edx
call fcn.0048585d
jmp 0x4288dc
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 0x4288dc
mov edx, dword [0x4afb38]
mov dword [esp + 0x10], edx
push 8
mov byte [esp + 0x314], 6
call fcn.00485977
add esp, 4
mov esi, eax
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x14]
push 1
push eax
call fcn.00407e90
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov ecx, dword [esp + 0xd8]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.0048585d
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 0x4283ab
mov eax, dword [esi + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00485977
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 0x428422
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 0x4283fb
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.0048519f
push esi
call fcn.004013c0
mov ebp, dword [esp + 0xd0]
add esp, 8
lea ecx, [ebp + 0x100]
call fcn.00447390
lea ecx, [esp + 0x10]
mov byte [esp + 0x310], 4
call fcn.0048542a
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 0x428340
mov ebx, dword [esp + 0x4c]
jmp 0x4288dc
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 0x4285f3
mov edx, dword [0x4afb38]
mov dword [esp + 0xb4], edx
lea eax, [esp + 0xc8]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x318], 0xd
call fcn.00407e90
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xb4]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov ecx, dword [esp + 0xc8]
and ecx, 0xff
push ecx
lea ecx, [esp + 0xb8]
call fcn.0048585d
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 0x42851e
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 0x42854b
mov edx, dword [ebp + 0x810]
lea esi, [ebp + 0x808]
push 0
push edx
mov ecx, esi
call fcn.00449120
mov edi, eax
lea eax, [esp + 0xb4]
push eax
lea ebx, [edi + 8]
mov ecx, ebx
call fcn.00485517
mov ecx, dword [esp + 0xb8]
mov dword [ebx + 4], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x4285b5
mov dword [eax], edi
jmp 0x4285b8
mov dword [esi + 4], edi
lea ecx, [esp + 0xb4]
mov dword [esi + 8], edi
mov byte [esp + 0x310], 4
call fcn.0048542a
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 0x4284b6
mov ebx, dword [esp + 0x4c]
push 4
mov ecx, ebp
call fcn.0042d9f0
jmp 0x4288dc
cmp dword [esp + 0x50], 0x20
jge 0x4288dc
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 0x4287cc
mov eax, dword [0x4afb38]
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.00407e90
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0xe8]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0xe8]
and eax, 0xff
push eax
call fcn.0048585d
lea ecx, [esp + 0xd0]
push 1
push ecx
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xec]
and eax, 0xff
push eax
push eax
call fcn.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
mov edx, dword [esp + 0xd0]
lea ecx, [esp + 0xec]
and edx, 0xff
push edx
call fcn.0048585d
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 0x4286ea
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 0x428711
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.00449030
mov edi, eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [edi + 8]
call fcn.00448de0
mov eax, dword [esi + 8]
test eax, eax
je 0x42877e
mov dword [eax], edi
jmp 0x428781
mov dword [esi + 4], edi
mov dword [esi + 8], edi
lea ecx, [esp + 0xec]
mov byte [esp + 0x310], 0x11
call fcn.0048542a
lea ecx, [esp + 0xe8]
mov byte [esp + 0x310], 4
call fcn.0048542a
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 0x42862c
inc dword [esp + 0x50]
jmp 0x4288dc
cmp ebx, 0x5654534c
je 0x428851
cmp ebx, 0x5759454b
jne 0x4288dc
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 0x4287eb
push 2
mov ecx, ebp
call fcn.0042d9f0
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 0x428821
jmp 0x4288dc
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.0048580e
push eax
lea ecx, [esp + 0x1c]
call fcn.00407e90
push edi
mov ecx, esi
call fcn.0048585d
push ecx
mov ecx, esp
mov dword [esp + 0xa4], esp
push esi
call fcn.0048519f
lea edx, [esp + 0x58]
push edx
call fcn.004013c0
add esp, 8
push eax
mov ecx, esi
mov byte [esp + 0x314], 0x18
call fcn.00485517
mov byte [esp + 0x310], 4
lea ecx, [esp + 0x54]
call fcn.0048542a
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 0x426d72
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 0x428926
push esi
mov ecx, ebp
call fcn.00442480
jmp 0x428975
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.0048519f
lea edx, [esp + 0x70]
push edx
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x328], 0x19
call fcn.0040a270
push eax
mov ecx, ebp
call fcn.00441b70
lea ecx, [esp + 0x54]
mov byte [esp + 0x310], 4
call fcn.0048542a
inc esi
add ebx, 0x30
add edi, 4
cmp esi, 5
jl 0x428911
push 0x4accc4
mov ecx, ebp
call fcn.004420b0
push 0x4accf8
mov ecx, ebp
call fcn.004420b0
mov eax, dword [esp + 0x318]
test eax, eax
jl 0x4289aa
mov dword [ebp + 0x2b4], eax
cmp eax, 0xfffffffe
jne 0x4289eb
mov eax, dword [ebp + 0xc0]
lea esi, [ebp + 0xc0]
push eax
call fcn.00465bf8
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 0x4289cb
lea ecx, [ebp + 0xf8]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x4289f7
cmp eax, 0xfffffffd
je 0x4289f7
mov ecx, ebp
call fcn.00428ad0
mov esi, dword [ebp + 0x438]
mov ecx, ebp
mov dword [ebp + 0x438], 0
call fcn.00422f40
mov edx, dword [esp + 0x48]
push fcn.0048542a
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.00465870
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x310], 0xffffffff
push ecx
call fcn.00465bf8
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0048c961
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