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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1ec]
cmp eax, dword [ecx + 8]
jbe 0x6298dd
sub esp, 0x26c
mov eax, dword [esp + 0x27c]
test eax, eax
jne 0x6276f4
mov eax, dword [0x8f69c4]
mov dword [esp + 0x19c], eax
lea ecx, [0x688120]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x270]
test ecx, ecx
je 0x62771d
mov edx, dword [ecx + 4]
jmp 0x62771f
mov edx, ecx
mov dword [eax], edx
mov edx, dword [0x91eb10]
test edx, edx
jne 0x627737
mov edx, dword [esp + 0x274]
mov dword [eax + 4], edx
jmp 0x627751
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x274]
call fcn.00462ed0
mov eax, edx
mov edx, dword [esp + 0x274]
mov ebx, 0xffffffff
mov ebp, 1
mov esi, 1
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x64], ebp
xor ebx, ebx
mov dword [esp + 0x1b4], ebx
xor ebx, ebx
mov dword [esp + 0x54], ebx
xor ebx, ebx
mov dword [esp + 0x58], ebx
lea ebx, [0x91e8c0]
mov dword [esp + 0x1a8], ebx
xor ebx, ebx
mov byte [esp + 0x41], bl
xor edi, edi
mov dword [esp + 0x1a4], edi
xor ebx, ebx
mov dword [esp + 0x90], ebx
lea ebx, [0x91e8c0]
mov dword [esp + 0x1dc], ebx
xor ebx, ebx
mov dword [esp + 0x94], ebx
xor ebx, ebx
mov dword [esp + 0xac], ebx
lea ebx, [esp + 0x40]
mov dword [esp + 0x1ec], ebx
xor ebx, ebx
mov dword [esp + 0xb0], ebx
xor ebx, ebx
mov dword [esp + 0x5c], ebx
xor ebx, ebx
mov dword [esp + 0x9c], ebx
lea ebx, [esp + 0x40]
mov dword [esp + 0x1e4], ebx
xor ebx, ebx
mov dword [esp + 0x60], ebx
xor ebx, ebx
mov dword [esp + 0x1ac], ebx
xor ebx, ebx
mov dword [esp + 0xa0], ebx
mov ebp, 1
mov ebx, 0xffffffff
xor edi, edi
jmp 0x62784a
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x1e4], ebx
mov edx, dword [esp + 0x274]
mov ebx, ebp
mov ebp, dword [esp + 0x78]
mov eax, esi
mov edi, ecx
mov ecx, dword [esp + 0x270]
mov esi, dword [esp + 0x7c]
inc ebx
cmp ebp, ebx
jne 0x627871
mov edx, dword [esp + 0x90]
test edx, edx
setne cl
cmp ebp, ebx
mov edx, dword [esp + 0x274]
mov byte [esp + 0x42], cl
mov ecx, dword [esp + 0x270]
jmp 0x627888
mov dword [esp + 0x190], eax
mov eax, 0
mov byte [esp + 0x42], al
mov eax, dword [esp + 0x190]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x78], ebp
xchg edi, eax
mov byte [esp + 0x43], al
xchg edi, eax
jne 0x627ae3
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x6278ca
xor eax, eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x1c8], eax
xor eax, eax
mov dword [esp + 0x1a8], eax
xor eax, eax
jmp 0x6278fb
mov esi, dword [esp + 0x1a8]
lea edx, [esi + eax*8 - 8]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
dec eax
mov esi, dword [esp + 0x58]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x1c8], edx
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x274]
mov edx, dword [esp + 0xac]
test edx, edx
jne 0x627930
xor edx, edx
xor edx, edx
mov dword [esp + 0xac], edx
xor edx, edx
mov dword [esp + 0xec], edx
xor edx, edx
mov dword [esp + 0x230], edx
xor edx, edx
mov dword [esp + 0x1ec], edx
xor edx, edx
jmp 0x62796f
mov ecx, dword [esp + 0x1ec]
lea ebx, [ecx + edx*8 - 8]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
dec edx
mov ecx, dword [esp + 0x270]
mov dword [esp + 0xac], edx
mov dword [esp + 0xec], ebp
mov dword [esp + 0x230], ebx
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x6279b8
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0xe8], ecx
xor ecx, ecx
mov dword [esp + 0xe4], ecx
xor ecx, ecx
mov dword [esp + 0xa0], ecx
xor ecx, ecx
mov dword [esp + 0x1e4], ecx
xor ecx, ecx
mov dword [esp + 0x22c], ecx
xor ecx, ecx
jmp 0x6279fa
lea ebx, [ecx + ecx*2]
mov ebp, dword [esp + 0x1e4]
mov eax, dword [ebp + ebx*4 - 0xc]
mov edx, dword [ebp + ebx*4 - 8]
mov ebx, dword [ebp + ebx*4 - 4]
dec ecx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x42]
test bl, bl
je 0x627aaa
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xdc], esi
mov dword [esp + 0x110], eax
xor eax, eax
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
mov byte [esp + 0xf8], bl
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0xf0], ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x100]
movzx ebx, byte [esp + 0xf8]
mov ebp, dword [esp + 0xf0]
jmp 0x629316
mov edi, dword [esp + 0x64]
mov edi, dword [esp + 0x1b4]
mov dword [esp + 0x220], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x1ac]
mov dword [esp + 0x1fc], edi
mov edi, dword [esp + 0x64]
jmp 0x62916b
mov dword [esp + 0x7c], esi
mov dword [esp + 0x1c4], eax
xchg edi, eax
test al, al
xchg edi, eax
je 0x627b0d
mov dword [esp], ebx
call fcn.00409090
mov eax, dword [esp + 4]
mov ecx, eax
lea eax, [0x68cf40]
jmp 0x627b9f
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 4], ecx
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x627b33
xor eax, eax
xor ecx, ecx
jmp 0x627b9f
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
call fcn.00409090
mov eax, dword [esp + 4]
lea ecx, [0x683820]
mov dword [esp], ecx
mov edx, dword [esp + 0x228]
mov dword [esp + 4], edx
lea edx, [0x68cf40]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.006299f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x64]
mov dword [esp], edx
mov ebx, dword [esp + 0x1b4]
mov dword [esp + 4], ebx
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x627c34
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x627bfa
mov ecx, dword [esp + 0x270]
test ecx, ecx
je 0x627be5
mov edx, dword [ecx + 4]
jmp 0x627be7
mov edx, ecx
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x274]
lea edi, [0x91e8c0]
jmp 0x627c50
mov ecx, dword [esp + 0x1ac]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x270]
lea ebx, [0x683820]
mov ebp, eax
xor edx, edx
xor esi, esi
xor edi, edi
mov eax, dword [esp + 0x5c]
jmp 0x627c50
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x270]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x1b4]
xor edx, edx
xor esi, esi
xor edi, edi
test ebx, ebx
jne 0x627c5d
xor ebx, ebx
xor ebp, ebp
jmp 0x627d75
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x70], edx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0xc], ecx
call fcn.006299f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x230], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1d0], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1cc], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0062a5f0
movzx eax, byte [esp + 8]
test al, al
je 0x627cff
lea eax, [0x6999c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x230]
mov dword [esp + 4], ecx
call fcn.00409430
mov eax, dword [esp + 8]
test eax, eax
je 0x627ceb
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1cc]
xor edx, edx
xor ebx, ebx
mov edi, dword [esp + 0x1b8]
jmp 0x627d6f
mov eax, dword [esp + 0x230]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
call fcn.0062a470
movzx eax, byte [esp + 8]
test al, al
jne 0x627d3a
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x1bc]
xor edx, edx
xor ebx, ebx
mov edi, dword [esp + 0x1b8]
jmp 0x627d6f
mov eax, dword [esp + 0x230]
mov dword [esp], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 4], eax
call fcn.0062a260
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x1bc]
mov esi, ecx
mov ebp, edx
mov edx, eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x224], edi
mov dword [esp + 0x230], esi
mov dword [esp + 0xec], edx
mov dword [esp], edx
mov dword [esp + 4], esi
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x627de9
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x627de0
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x1c4]
movzx ecx, byte [esp + 0x43]
mov eax, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1ec]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1e4]
jmp 0x627815
movzx edx, byte [esp + 0x43]
test dl, dl
jmp 0x627df9
movzx ecx, byte [esp + 0x43]
test cl, cl
mov ecx, dword [esp + 0x68]
movzx edx, byte [esp + 0x43]
je 0x627edd
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x627eb9
mov ebp, dword [esp + 0x54]
lea esi, [ebp + 1]
mov eax, ecx
mov ecx, dword [esp + 0x58]
cmp ecx, esi
jb 0x627e25
mov edi, dword [esp + 0x1a8]
jmp 0x627e6e
lea eax, [0x68d080]
mov dword [esp], eax
mov edx, dword [esp + 0x1a8]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x54]
mov edi, eax
mov ecx, edx
mov eax, dword [esp + 0x68]
movzx edx, byte [esp + 0x43]
lea edx, [edi + ebp*8]
mov ebx, dword [esp + 0x80]
mov dword [edx], ebx
mov edx, dword [0x91eb10]
lea ebp, [edi + ebp*8 + 4]
test edx, edx
jne 0x627e97
mov edx, dword [esp + 0x1c8]
mov dword [ebp], edx
jmp 0x627fc6
mov edx, edi
mov edi, ebp
mov eax, dword [esp + 0x1c8]
call fcn.00462ed0
mov eax, dword [esp + 0x68]
mov edi, edx
mov edx, dword [esp + 0x1c8]
jmp 0x627fc6
mov eax, ecx
mov edx, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x1a8]
jmp 0x627fc6
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 4], ecx
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x627f1f
mov ecx, dword [esp + 0x1c8]
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x1a8]
jmp 0x627fae
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
jb 0x627f37
mov eax, dword [esp + 0x1a8]
jmp 0x627f71
lea eax, [0x68d080]
mov dword [esp], eax
mov ebp, dword [esp + 0x1a8]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, edx
mov edx, ecx
mov ecx, dword [esp + 0x54]
lea ebp, [eax + ecx*8]
mov esi, dword [esp + 0x80]
mov dword [ebp], esi
mov ebp, dword [0x91eb10]
lea edi, [eax + ecx*8 + 4]
test ebp, ebp
jne 0x627f97
mov ecx, dword [esp + 0x1c8]
mov dword [edi], ecx
jmp 0x627fae
mov ecx, eax
mov eax, dword [esp + 0x1c8]
call fcn.00462ed0
mov eax, ecx
mov ecx, dword [esp + 0x1c8]
mov ecx, ebx
mov esi, edx
mov edi, eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xec]
mov ebp, dword [esp + 0x230]
mov dword [esp + 0x220], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0xd4], ebp
mov ebp, dword [esp + 0x224]
mov dword [esp + 0x21c], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xd0], ebp
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xec], ebp
mov dword [esp + 0xe8], eax
mov dword [esp], ebp
mov eax, dword [esp + 0x220]
mov dword [esp + 4], eax
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x628097
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x1c8]
mov edx, 1
mov byte [esp + 0x40], dl
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1dc]
mov esi, dword [esp + 0x220]
mov ebp, dword [esp + 0xec]
jmp 0x6286f0
lea eax, [0x6999c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1b4]
mov dword [esp + 8], edx
call fcn.004094d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x230], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1b0], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
lea esi, [0x91e8c0]
jmp 0x628e76
mov edx, dword [esp + 0xec]
test edx, edx
je 0x6281d6
cmp dword [edx + 8], 0x38a195a4
jne 0x62815f
lea ebp, [0x690540]
cmp edx, ebp
jne 0x62815f
mov dword [esp], ebp
mov eax, dword [esp + 0x220]
mov dword [esp + 4], eax
lea ecx, [0x6c75a1]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.0040fa50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [0x68d7c0]
cmp ecx, edx
jne 0x629155
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x84]
cmp ebx, ebp
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c0], ecx
jmp 0x6281ff
lea eax, [0x6999c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x220]
mov dword [esp + 8], ecx
call fcn.004094d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x6281ac
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
cmp edx, ebx
mov eax, 0
mov dword [esp + 0x74], eax
mov ecx, 0
mov dword [esp + 0x1c0], ecx
jmp 0x6281ff
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
cmp edx, ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c0], ecx
jmp 0x6281ff
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
cmp ebp, ebx
mov dword [esp + 0x138], eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, 0
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x278]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
sete cl
mov byte [esp + 0xc], cl
call fcn.0062a8a0
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x62826c
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x1c8]
mov edx, 1
mov byte [esp + 0x40], dl
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1dc]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x220]
jmp 0x6286f0
lea edi, [esp + 0x23c]
xor eax, eax
call fcn.00463144
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x23c], ecx
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x240], ebx
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x244], ebp
mov ebp, dword [esp + 0x1c8]
mov dword [esp + 0x248], ebp
mov ebp, dword [esp + 0x230]
mov dword [esp + 0x24c], ebp
mov ebp, dword [esp + 0x1b0]
mov dword [esp + 0x250], ebp
mov ebp, dword [esp + 0x1a8]
mov dword [esp + 0x254], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x258], ebp
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x268], ecx
mov ecx, dword [edx]
mov dword [esp + 0xcc], ecx
lea edi, [esp]
lea esi, [esp + 0x23c]
call fcn.004635e8
mov ecx, dword [esp + 0xcc]
call ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov eax, ebx
mov ebx, dword [esp + 0x3c]
mov edx, ebx
mov ebx, dword [esp + 0x38]
cmp ecx, 4
jne 0x628412
cmp dword [ebp], 0x50494b53
jne 0x6286b9
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jne 0x6283ab
mov edi, dword [esp + 0x1c8]
mov edx, 1
mov byte [esp + 0x40], dl
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1dc]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x220]
jmp 0x6286f0
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x6283bb
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x6283c7
dec eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x1a8]
mov ebp, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x78], ebx
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x1a8], edx
mov eax, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1ec]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1e4]
movzx ecx, byte [esp + 0x43]
jmp 0x627815
cmp ecx, 5
jne 0x628433
cmp dword [ebp], 0x41455242
jne 0x6286b9
cmp byte [ebp + 4], 0x4b
jne 0x6286b9
jmp 0x629015
cmp ecx, 6
jne 0x6286b9
cmp dword [ebp], 0x41445055
jne 0x6286b9
cmp word [ebp + 4], 0x4554
jne 0x6286b9
mov dword [esp + 0x230], edx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x218], eax
lea eax, [0x69d700]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov edx, dword [0x91eb10]
test edx, edx
jne 0x62849b
mov edx, dword [esp + 0x1c8]
mov dword [eax + 4], edx
jmp 0x6284b5
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x1c8]
call fcn.00462ed0
mov eax, edx
mov edx, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x218]
mov dword [eax + 8], ebx
mov ebp, dword [0x91eb10]
test ebp, ebp
jne 0x6284d5
mov ebp, dword [esp + 0x230]
mov dword [eax + 0xc], ebp
jmp 0x6284ef
lea edi, [eax + 0xc]
mov ebp, eax
mov eax, dword [esp + 0x230]
call fcn.00462ed0
mov eax, ebp
mov ebp, dword [esp + 0x230]
mov esi, dword [esp + 0x90]
mov edi, edx
lea edx, [esi + 1]
mov ecx, dword [esp + 0x94]
cmp ecx, edx
jae 0x628576
mov dword [esp + 0x214], eax
lea eax, [0x67acc0]
mov dword [esp], eax
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, dword [esp + 0x218]
mov ebp, dword [esp + 0x230]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x1c8]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x214]
mov ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x218]
mov dword [esp + 0x94], ecx
mov ebp, dword [0x91eb10]
mov ebx, dword [esp + 0x1dc]
lea ecx, [ebx + esi*4]
test ebp, ebp
jne 0x6285a3
mov dword [ebx + esi*4], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jmp 0x6285bf
mov ebp, edi
mov edi, ecx
call fcn.00462ed0
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x84]
cmp ecx, esi
mov eax, ecx
mov ecx, esi
mov edi, ebp
jne 0x6285d1
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x220]
jmp 0x628629
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0x218]
mov dword [esp], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0062a5f0
movzx eax, byte [esp + 8]
test al, al
je 0x628642
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x1dc]
mov edi, dword [esp + 0x1c8]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x230]
mov dword [esp + 0x130], eax
xor eax, eax
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x130]
jmp 0x6286f0
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x628652
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x628660
dec eax
mov ecx, eax
mov edx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x78], ebx
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1a8], edx
mov eax, dword [esp + 0x1a4]
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x1ec]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1e4]
movzx ecx, byte [esp + 0x43]
jmp 0x627815
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x1c8]
mov edx, 1
mov byte [esp + 0x40], dl
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1dc]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x220]
mov dword [esp + 0xec], ebp
mov dword [esp + 0x230], esi
movzx esi, byte [esp + 0x40]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6289ae
movzx esi, byte [esp + 0x42]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x62871f
cmp eax, ecx
jmp 0x6289b0
mov dword [esp + 0xc4], edx
mov dword [esp + 0x210], ebx
movzx esi, byte [esp + 0x41]
xchg esi, eax
test al, al
xchg esi, eax
je 0x62887c
lea eax, [0x69d700]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x214], eax
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov ecx, dword [0x91eb10]
test ecx, ecx
jne 0x628774
mov ecx, dword [esp + 0x1c8]
mov dword [eax + 4], ecx
jmp 0x628783
lea edi, [eax + 4]
mov eax, dword [esp + 0x1c8]
call fcn.00462ed0
mov eax, dword [esp + 0x21c]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x683820]
mov edx, dword [esp + 0x214]
mov dword [edx + 8], ecx
mov ebx, dword [0x91eb10]
test ebx, ebx
jne 0x6287cb
mov dword [edx + 0xc], eax
jmp 0x6287d3
lea edi, [edx + 0xc]
call fcn.00462ed0
mov ebx, dword [esp + 0xc4]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x94]
cmp esi, ebp
jb 0x6287f1
mov eax, dword [esp + 0x210]
jmp 0x62883d
lea eax, [0x67acc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x210]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0044b5e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov edx, dword [esp + 0x214]
mov eax, ebx
mov esi, ecx
lea ecx, [0x683820]
mov ebx, dword [esp + 0xc4]
mov ecx, dword [0x91eb10]
lea edi, [eax + ebx*4]
test ecx, ecx
jne 0x62885f
mov dword [eax + ebx*4], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
cmp ecx, edx
jmp 0x6289bb
mov ecx, eax
mov eax, edx
call fcn.00462ed0
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
cmp edx, ebx
mov eax, ecx
jmp 0x6289bb
lea eax, [0x69d700]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov ecx, dword [0x91eb10]
test ecx, ecx
jne 0x6288ad
mov ecx, dword [esp + 0x1c8]
mov dword [eax + 4], ecx
jmp 0x6288c0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x1c8]
call fcn.00462ed0
mov eax, ecx
mov ecx, dword [esp + 0xec]
mov dword [eax + 8], ecx
mov edx, dword [0x91eb10]
test edx, edx
jne 0x6288e0
mov edx, dword [esp + 0x230]
mov dword [eax + 0xc], edx
jmp 0x6288fa
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0x230]
call fcn.00462ed0
mov eax, edx
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0xc4]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x94]
cmp esi, ebp
jb 0x628918
mov edi, dword [esp + 0x210]
jmp 0x628973
mov dword [esp + 0x214], eax
lea eax, [0x67acc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x210]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0044b5e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x214]
mov edx, dword [esp + 0x230]
mov edi, ebx
mov esi, ecx
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0xc4]
mov edx, dword [0x91eb10]
lea ecx, [edi + ebx*4]
test edx, edx
jne 0x628992
mov dword [edi + ebx*4], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jmp 0x6289aa
mov edx, edi
mov edi, ecx
call fcn.00462ed0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
cmp ecx, ebx
mov edi, edx
mov eax, edi
jmp 0x6289bb
cmp eax, ecx
mov eax, ebx
mov esi, dword [esp + 0x94]
mov ebp, edx
jne 0x628a03
movzx ecx, byte [esp + 0x43]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x94], esi
mov edi, dword [esp + 0x1ec]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1e4]
mov ebp, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0x1c4]
jmp 0x628e3e
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x20c], eax
lea eax, [0x6af620]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x43]
mov byte [eax + 0x1c], cl
mov ecx, dword [esp + 0xd8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xd4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x91eb10]
test ecx, ecx
jne 0x628a62
mov ecx, dword [esp + 0x1c4]
mov dword [eax + 4], ecx
jmp 0x628a75
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x1c4]
call fcn.00462ed0
mov eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xc0]
mov dword [eax + 0x18], ecx
mov ecx, dword [0x91eb10]
test ecx, ecx
jne 0x628aa9
mov ecx, dword [esp + 0x20c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x1a4]
mov dword [eax + 0x20], ecx
jmp 0x628acb
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x20c]
call fcn.00462ed0
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0x1a4]
call fcn.00462ed0
mov eax, ecx
mov dword [esp + 0x1a4], eax
mov ecx, dword [esp + 0xe8]
test ecx, ecx
je 0x628b63
lea eax, [0x68d080]
mov dword [esp], eax
lea edx, [0x91e8c0]
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c4], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x7c], ecx
lea edx, [0x68d080]
mov dword [esp], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x21c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00410c90
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0xe8]
mov esi, dword [esp + 0x1c4]
jmp 0x628c0f
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x230]
mov dword [esp + 4], ecx
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x628b92
xor ebp, ebp
xor ebx, ebx
lea esi, [0x91e8c0]
jmp 0x628c0f
lea eax, [0x6999c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
call fcn.00409430
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x230]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [0x696fa0]
mov dword [esp], edx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0040fa50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x208], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0xe4], eax
xor edx, edx
xor ebx, ebx
xor ebp, ebp
lea esi, [0x91e8c0]
jmp 0x629044
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebx
mov dword [esp + 0x1c4], esi
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 1]
mov eax, ebx
mov ebx, dword [esp + 0xb0]
cmp ebx, edx
jb 0x628c3e
mov edi, dword [esp + 0x1ec]
jmp 0x628c8c
lea eax, [0x68d080]
mov dword [esp], eax
mov ebp, dword [esp + 0x1ec]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x1c4]
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x78]
mov edx, ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ebx
lea edx, [edi + ecx*8]
mov ebx, dword [esp + 0x64]
mov dword [edx], ebx
mov edx, dword [0x91eb10]
lea ecx, [edi + ecx*8 + 4]
test edx, edx
jne 0x628cbc
mov edx, dword [esp + 0x1b4]
mov dword [ecx], edx
jmp 0x628cd2
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x1b4]
call fcn.00462ed0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x9c]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0xa0]
cmp ebx, edx
jae 0x628d48
mov dword [esp + 0x200], edi
lea eax, [0x683820]
mov dword [esp], eax
mov ebp, dword [esp + 0x1e4]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x1c4]
mov edi, dword [esp + 0x200]
mov dword [esp + 0x1e4], eax
mov ebx, edx
mov eax, dword [esp + 0x78]
mov edx, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ebx
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1e4]
mov dword [ebx + ecx*4 + 4], edx
mov edx, dword [esp + 0x60]
mov dword [ebx + ecx*4 + 8], edx
mov edx, dword [0x91eb10]
lea ebp, [ebx + ecx*4]
test edx, edx
jne 0x628d92
mov edx, dword [esp + 0x1ac]
mov dword [ebx + ecx*4], edx
mov ecx, dword [esp + 0xe8]
test ecx, ecx
jmp 0x628db3
mov ecx, edi
mov edi, ebp
mov edx, eax
mov eax, dword [esp + 0x1ac]
call fcn.00462ed0
mov ebp, dword [esp + 0xe8]
test ebp, ebp
mov eax, edx
mov edi, ecx
mov ecx, ebp
mov edx, ecx
setne cl
mov ebp, 0xffffffff
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x1b4], eax
mov byte [esp + 0x120], cl
xor ecx, ecx
mov dword [esp + 0x90], ecx
lea ecx, [0x91e8c0]
mov dword [esp + 0x1dc], ecx
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x21c]
mov dword [esp + 0x1ac], edx
mov ebp, 0xffffffff
mov eax, dword [esp + 0x128]
movzx ecx, byte [esp + 0x120]
mov edx, dword [esp + 0x118]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1a4]
test eax, eax
jne 0x627815
jmp 0x62911e
mov ecx, edi
mov edi, dword [esp + 0xe4]
lea edx, [edi + 1]
mov ebx, ecx
mov ebp, esi
mov esi, eax
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x1e8], esi
mov edi, dword [esp + 0xac]
cmp edi, edx
jle 0x6280df
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0x1ec]
lea ecx, [eax + edx*8]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
lea ebp, [0x6999c0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004094d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x628f88
mov ebx, dword [esp + 0xa4]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xa8]
cmp esi, ebp
jb 0x628ef8
mov eax, dword [esp + 0x1e8]
jmp 0x628f55
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x218], edx
lea eax, [0x6999c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0044b5e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x218]
mov ebx, dword [esp + 0xa4]
mov edi, eax
mov eax, esi
mov esi, ebp
mov ebp, edi
mov edi, ebp
lea ebp, [eax + ebx*8]
mov dword [ebp], edx
mov edx, dword [0x91eb10]
lea ebx, [eax + ebx*8 + 4]
test edx, edx
jne 0x628f72
mov dword [ebx], ecx
jmp 0x628e56
mov edx, edi
mov edi, ebx
mov ebp, eax
mov eax, ecx
call fcn.00462ed0
mov eax, ebp
mov edi, edx
jmp 0x628e56
mov ecx, dword [esp + 0xa4]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0xa8]
cmp ebx, edx
jb 0x628fa6
mov esi, dword [esp + 0x1e8]
jmp 0x628fe3
lea eax, [0x6999c0]
mov dword [esp], eax
mov ebp, dword [esp + 0x1e8]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0044b5e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov ecx, dword [esp + 0xa4]
mov ebx, ebp
lea ebp, [esi + ecx*8]
mov dword [ebp], 0
mov ebp, dword [0x91eb10]
lea edi, [esi + ecx*8 + 4]
test ebp, ebp
jne 0x629003
mov dword [edi], 0
jmp 0x62900a
xor eax, eax
call fcn.00462ed0
mov edi, edx
mov eax, esi
mov esi, ebx
jmp 0x628e56
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x1dc]
jmp 0x62912c
mov eax, dword [esp + 0xd8]
lea edx, [eax + 1]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x208]
mov ebp, ebx
mov ebx, edi
cmp edx, eax
jge 0x628c0f
mov dword [esp + 0xd8], edx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x204], esi
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004091a0
mov eax, dword [esp + 0xb4]
lea ecx, [eax + 1]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xb8]
cmp ebx, ecx
jb 0x62909e
mov esi, dword [esp + 0x204]
jmp 0x6290e9
mov dword [esp + 0x228], edx
lea edx, [0x68d080]
mov dword [esp], edx
mov ebp, dword [esp + 0x204]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.0044b5e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x228]
mov ebx, ebp
lea ebp, [esi + eax*8]
mov edi, ecx
lea ecx, [0x68d7c0]
mov dword [ebp], ecx
mov ebp, dword [0x91eb10]
lea ecx, [esi + eax*8 + 4]
test ebp, ebp
jne 0x62910c
mov dword [ecx], edx
jmp 0x629028
mov eax, edx
mov edx, edi
mov edi, ecx
call fcn.00462ed0
mov edi, edx
jmp 0x629028
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x1dc]
test eax, eax
je 0x62913c
mov eax, dword [ecx + eax*4 - 4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
jmp 0x629140
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x280], ecx
mov dword [esp + 0x284], eax
add esp, 0x26c
ret
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x68d080]
mov dword [esp + 8], eax
call fcn.00408df0
mov ebx, dword [esp + 0x1a4]
mov ebp, dword [ebx]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c4], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xd8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x1dc], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x94], eax
movzx eax, byte [ebx + 0x1c]
mov ebx, dword [ebx + 0x20]
mov edx, dword [esp + 0x1c8]
mov dword [esp + 0x1a4], ebx
mov byte [esp + 0x43], al
mov byte [esp + 0x188], al
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x170], ebp
mov ebp, dword [esp + 0x230]
mov dword [esp + 0x1b4], ebp
mov dword [esp + 0x168], esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0x64], esi
mov dword [esp + 0x160], edi
mov edi, dword [esp + 0x180]
mov dword [esp + 0x9c], edi
mov dword [esp + 0x158], edi
mov edi, dword [esp + 0x22c]
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x150], edi
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x148], edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x60], edi
mov ebp, dword [esp + 0x160]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x168]
jmp 0x628014
mov ebp, dword [esp + 0xd8]
inc ebp
mov dword [esp + 0xd8], ebp
mov dword [esp + 0x98], edx
mov dword [esp + 0xcc], esi
mov dword [esp + 0x220], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xb0]
movzx ebx, byte [esp + 0x42]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0xdc]
movzx edi, byte [esp + 0x43]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0xd8]
cmp ebx, ebp
jle 0x629749
mov eax, dword [esp + 0x1dc]
mov ecx, dword [eax + ebp*4]
mov dword [esp + 0x1e0], ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x629523
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0062a710
movzx eax, byte [esp + 8]
test al, al
je 0x62949b
mov edx, dword [esp + 0x1e0]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
lea ebp, [0x68cf40]
cmp ebx, ebp
jne 0x6298c6
mov eax, dword [edx]
mov edx, dword [esp + 0x98]
sub eax, edx
test eax, eax
jge 0x629395
mov ebx, dword [esp + 0x68]
jmp 0x62939d
mov ebx, dword [esp + 0x68]
cmp ebx, eax
jg 0x6293ad
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1f8]
jmp 0x629498
lea ecx, [ebx - 1]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x6c]
mov edi, esi
sub esi, eax
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
lea ebp, [eax + 1]
shl ebp, 3
sar esi, 0x1f
and ebp, esi
sub ebx, eax
mov esi, dword [esp + 0x1f8]
add ebp, esi
cmp edi, ecx
jae 0x629436
mov dword [esp + 0x50], eax
mov dword [esp + 0x1f4], ebp
mov dword [esp + 0xd4], ebx
lea edx, [0x68d080]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x1f4]
mov edi, ecx
mov esi, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x6298c1
mov dword [esp + 0x198], esi
mov dword [esp + 0x48], edi
lea ecx, [0x68d080]
mov dword [esp], ecx
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
shl eax, 3
sar edi, 0x1f
and eax, edi
add eax, esi
mov dword [esp + 4], eax
lea eax, [ebx - 1]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00410c90
mov edx, dword [esp + 0x98]
lea ebp, [0x68cf40]
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x198]
inc edx
jmp 0x629510
mov edx, dword [esp + 0x1e0]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
lea esi, [0x68cf40]
cmp ebx, esi
jne 0x6298ab
mov eax, dword [ebp]
mov ebx, dword [esp + 0x98]
sub eax, ebx
mov ebp, dword [edx + 0xc]
mov edx, dword [edx + 8]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x6298a6
mov esi, dword [esp + 0x1f8]
mov edi, ecx
lea ecx, [esi + eax*8]
mov dword [ecx], edx
mov ecx, dword [0x91eb10]
lea edx, [esi + eax*8 + 4]
test ecx, ecx
jne 0x6294f3
mov dword [edx], ebp
jmp 0x629500
mov eax, ebp
mov ecx, edi
mov edi, edx
call fcn.00462ed0
mov edi, ecx
lea ebp, [0x68cf40]
mov edx, ebx
mov eax, dword [esp + 0x6c]
mov ebx, edi
mov ecx, esi
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x220]
jmp 0x6292bc
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0062a470
movzx eax, byte [esp + 8]
test al, al
je 0x6295de
mov ecx, dword [esp + 0x1e0]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
test edx, edx
je 0x6295bc
nop
movzx ebx, byte [0x8f80d8]
test bl, bl
je 0x629582
mov dword [0x8f80dc], edx
mov ebx, dword [0x91eb10]
test ebx, ebx
jne 0x629577
mov dword [0x8f80e0], eax
jmp 0x629582
lea edi, [0x8f80e0]
call fcn.00462ed0
mov dword [esp + 0x234], edx
mov dword [esp + 0x238], eax
mov edx, dword [esp + 0x234]
test edx, edx
je 0x6295b4
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x6295c2
or ebx, 0x80
jmp 0x6295c2
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x6295c2
xor eax, eax
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1d8], eax
xor ebp, ebp
jmp 0x6297df
mov eax, dword [esp + 0x1e0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0062a4e0
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x62965f
mov eax, dword [esp + 0x1e0]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x68d7c0]
cmp ecx, ebx
jne 0x6297a3
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebp, dword [esp + 0xcc]
mov dword [esp], ebp
mov ebp, dword [esp + 0x220]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
call fcn.00629c80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x629724
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 4], eax
call fcn.006298f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x629790
mov ecx, dword [esp + 0x1e0]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
lea ebp, [0x68d7c0]
cmp edx, ebp
jne 0x62977a
mov dword [esp + 0x1a0], eax
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
mov ebp, dword [ecx + 0xc]
mov dword [esp + 0x220], ebp
mov ecx, dword [ecx + 8]
mov dword [esp + 0xcc], ecx
lea esi, [0x690540]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004100e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov ecx, dword [0x91eb10]
test ecx, ecx
jne 0x629708
mov ecx, dword [esp + 0x220]
mov dword [eax + 4], ecx
jmp 0x629717
lea edi, [eax + 4]
mov eax, dword [esp + 0x220]
call fcn.00462ed0
lea eax, [0x690540]
mov ecx, dword [esp + 0x1a0]
lea ebp, [0x68cf40]
mov edx, dword [esp + 0x98]
mov esi, eax
mov edi, ecx
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1f8]
jmp 0x6292bc
movzx ebx, byte [esp + 0x42]
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0xcc]
movzx ebx, byte [esp + 0x43]
mov byte [esp + 0x41], bl
mov ebx, dword [esp + 0x1f8]
mov dword [esp + 0x1fc], ebx
movzx ebx, byte [esp + 0x42]
jmp 0x62916b
mov dword [esp], edx
mov dword [esp + 4], ebp
lea eax, [0x68d080]
mov dword [esp + 8], eax
call fcn.00408df0
test edx, edx
je 0x629797
mov edx, dword [edx + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00436cf0
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea eax, [0x68d080]
mov dword [esp + 8], eax
call fcn.00408df0
mov esi, dword [esp + 0x88]
lea ebp, [esi + 1]
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x88], ebp
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x17
jne 0x6297f5
mov ebx, dword [eax + 4]
jmp 0x62982c
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004ba740
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
cmp ebp, ebx
jge 0x62989e
mov dword [esp + 0x4c], ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.004ba3a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004ba550
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0062a4e0
movzx eax, byte [esp + 8]
test al, al
jne 0x6297b9
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
mov ecx, dword [esp + 0x1e0]
setl al
jmp 0x6295ff
call fcn.00462f50
mov dword [esp], ebx
mov dword [esp + 4], esi
lea eax, [0x68d080]
mov dword [esp + 8], eax
call fcn.00408df0
call fcn.00462fb0
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea eax, [0x68d080]
mov dword [esp + 8], eax
call fcn.00408df0
nop
call fcn.00461ac0
jmp fcn.006276c0