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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4dc504
push eax
mov dword fs:[0], esp
sub esp, 0x284
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2ac]
mov ebp, ecx
push edi
mov ecx, esi
mov edi, dword [esp + 0x2ac]
lea eax, [ebp + 0x140]
xor ebx, ebx
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
xor eax, eax
xor ecx, ecx
mov dword [ebp + 0x12c], eax
mov dword [ebp + 0x130], ecx
mov edx, dword [edi]
cmp dword [edx - 8], ebx
jne 0x97b8c9
mov eax, dword [esp + 0x2a4]
xor edx, edx
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x97e00c
push edi
lea eax, [esp + 0x38]
push 0x790dec
push eax
call fcn.009a1a5b
push eax
mov ecx, edi
mov dword [esp + 0x2a0], ebx
call fcn.009a188b
lea ecx, [esp + 0x34]
mov dword [esp + 0x29c], 0xffffffff
call fcn.009a179e
push 0x790de4
mov ecx, edi
call fcn.009a1b2e
mov ecx, dword [ebp + 0x134]
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0x144], ecx
push 0x7dac64
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.009a180c
push 0x7dac64
lea ecx, [esp + 0x18]
mov dword [esp + 0x2a0], 1
call fcn.009a180c
push 0x7dac64
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 2
call fcn.009a180c
push 0x7dac64
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 3
call fcn.009a180c
mov eax, dword [0x793480]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x230], eax
mov ecx, dword [esp + 0x2b4]
lea edx, [esp + 0x20]
push ecx
push edx
mov ecx, ebp
mov byte [esp + 0x2a4], 5
call fcn.0097e8e0
mov eax, dword [edi]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], ebx
mov eax, dword [eax - 8]
cmp eax, ebx
jle 0x97deb6
jmp 0x97b9d0
mov edi, dword [esp + 0x2ac]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x14]
push ecx
push edx
lea eax, [esp + 0x168]
push edi
push eax
mov ecx, ebp
call fcn.009807a0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2a0], 6
call fcn.009a188b
lea ecx, [esp + 0x160]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov ecx, dword [esp + 0x28]
cmp dword [ecx - 8], ebx
je 0x97bbe8
mov eax, dword [ebp + 0x78]
dec eax
je 0x97ba88
dec eax
je 0x97ba7d
dec eax
jne 0x97ba91
lea ecx, [esp + 0x28]
call fcn.009a1c66
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [edx - 8], ebx
jle 0x97ba91
mov cl, byte [eax + edx]
cmp cl, 0x61
jl 0x97ba6f
cmp cl, 0x7a
jg 0x97ba6f
cmp eax, ebx
je 0x97ba59
cmp byte [eax + edx - 1], 0x20
jne 0x97ba6f
sub cl, 0x20
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.009a1c78
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [edx - 8]
cmp eax, ecx
jl 0x97ba41
jmp 0x97ba91
lea ecx, [esp + 0x28]
call fcn.009a1c66
jmp 0x97ba91
lea ecx, [esp + 0x28]
call fcn.009a1c54
lea edx, [esp + 0x28]
mov ecx, ebp
push edx
call fcn.009821a0
mov eax, dword [esp + 0x28]
lea edx, [esp + 0xb4]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esp + 0x2b4]
mov ecx, dword [eax + 8]
push ecx
call 0xdb51a3
nop
mov edx, dword [esp + 0x2b4]
mov ebx, dword [esp + 0xb8]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push edx
push ebx
push eax
lea edx, [esp + 0x278]
push ecx
push edx
mov ecx, ebp
call fcn.0097e650
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x2b4]
test eax, eax
jne 0x97bbc3
mov eax, dword [esp + 0xb4]
sub esp, 0x10
mov edx, esp
add eax, esi
lea ecx, [ebx + edi]
mov dword [edx], esi
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.0097e170
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [eax - 8]
mov ebx, dword [edx]
push ecx
push eax
push edi
push esi
mov ecx, edx
call dword [ebx + 0x5c]
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x97bbcc
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x44]
xor ecx, ecx
cmp ebx, 0x2bc
setge cl
inc ecx
push eax
push ecx
push 0
call 0xd37124
nop
mov esi, dword [esp + 0x2a8]
test esi, esi
jne 0x97bb6e
xor ecx, ecx
jmp 0x97bb71
mov ecx, dword [esi + 4]
mov ebx, dword [0x4de134]
push eax
push ecx
call ebx
mov edx, dword [esp + 0x24]
mov edi, eax
mov eax, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x280]
push eax
push ecx
mov ecx, esi
call fcn.009a7f97
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x24]
add ecx, eax
push edx
push ecx
mov ecx, esi
call fcn.009a7fe3
test esi, esi
jne 0x97bbba
push edi
push esi
call ebx
jmp 0x97bbcc
mov esi, dword [esi + 4]
push edi
push esi
call ebx
jmp 0x97bbcc
mov edx, dword [ebp + 0x68]
mov dword [ebp + 0xb4], edx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x28]
call fcn.009a1729
xor ebx, ebx
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 8], ebx
je 0x97de9e
lea ecx, [esp + 0x14]
call fcn.009a1c66
lea esi, [ebp + 0x24]
mov ecx, esi
call fcn.009a1729
lea edx, [esp + 0x1c]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x138]
push eax
push ecx
mov ecx, ebp
xor edi, edi
mov dword [esp + 0x28], ebx
call fcn.00980ee0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 7
call fcn.009a188b
lea ecx, [esp + 0x134]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x97de9e
cmp byte [eax], 0x2f
jne 0x97bca4
mov eax, dword [eax - 8]
lea edx, [esp + 0x15c]
dec eax
lea ecx, [esp + 0x10]
push eax
push edx
mov edi, 1
call fcn.0099eed3
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 8
call fcn.009a188b
lea ecx, [esp + 0x15c]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov eax, dword [esp + 0x10]
push 0x790de0
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bcf9
push 0x790dd8
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97bcec
mov edx, dword [ebp + 0x2c]
mov eax, 0x384
shl edx, 1
mov ecx, edx
mov dword [ebp + 0x2c], edx
cmp ecx, eax
jle 0x97bcec
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x2a8]
push eax
jmp 0x97de97
mov ecx, dword [esp + 0x10]
push 0x790dd4
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97de66
mov edx, dword [esp + 0x10]
push 0x790dd0
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97de66
mov eax, dword [esp + 0x10]
push 0x790dcc
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bd7d
push 0x790dc0
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97bd70
mov eax, dword [ebp + 0x34]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [ebp + 0x34], ecx
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
mov eax, dword [esp + 0x10]
push 0x790dbc
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97de33
mov ecx, dword [esp + 0x10]
push 0x790db4
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97de33
mov edx, dword [esp + 0x10]
push 0x790dac
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c03f
push 0x790dac
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97de8f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax - 8]
cmp ecx, eax
jge 0x97de8f
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x150]
push edx
push eax
mov ecx, ebp
call fcn.009809e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 9
call fcn.009a188b
lea ecx, [esp + 0x14c]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 8], ebx
je 0x97c027
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea edx, [esp + 0x20]
push 0x3d
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x178]
push eax
push ecx
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0xa
call fcn.009a188b
lea ecx, [esp + 0x16c]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov edx, dword [esp + 0x10]
push 0x790da4
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bf1f
push ecx
lea esi, [ebp + 0x40]
mov ecx, esp
mov dword [esp + 0x30], esp
push esi
call fcn.009a1513
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov byte [esp + 0x2a8], 0xb
call fcn.009a1513
lea ecx, [esp + 0x15c]
mov byte [esp + 0x2a4], 5
push ecx
mov ecx, ebp
call fcn.00981840
push eax
mov ecx, esi
mov byte [esp + 0x2a0], 0xc
call fcn.009a188b
lea ecx, [esp + 0x154]
mov byte [esp + 0x29c], 5
call fcn.009a179e
jmp 0x97c027
mov edx, dword [esp + 0x10]
push 0x790d9c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bf4f
mov eax, dword [ebp + 0x28]
push 1
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, ebp
call fcn.00980100
mov dword [ebp + 0x28], eax
jmp 0x97c027
mov edx, dword [esp + 0x10]
push 0x790d94
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bf7d
mov eax, dword [ebp + 0x44]
lea ecx, [esp + 0x18]
push eax
push ecx
mov ecx, ebp
call fcn.0097ff90
mov dword [ebp + 0x44], eax
jmp 0x97c027
mov edx, dword [esp + 0x10]
push 0x790d8c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bfa4
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.009818d0
jmp 0x97c027
mov ecx, dword [esp + 0x10]
push 0x790d84
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97bfcf
mov edx, dword [ebp + 0x2c]
lea eax, [esp + 0x18]
push edx
push eax
mov ecx, ebp
call fcn.0097fd60
mov dword [ebp + 0x2c], eax
jmp 0x97c027
mov ecx, dword [esp + 0x10]
push 0x790d7c
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c027
mov edx, dword [esp + 0x18]
push 0x790d70
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c00d
mov eax, dword [esp + 0x18]
cmp dword [eax - 8], ebx
jne 0x97c00d
mov dword [ebp + 0x5c], 1
jmp 0x97c027
mov ecx, dword [ebp + 0x48]
lea edx, [esp + 0x18]
push ecx
push edx
mov ecx, ebp
mov dword [ebp + 0x5c], 2
call fcn.0097ff90
mov dword [ebp + 0x48], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax - 8]
cmp ecx, eax
jl 0x97be02
jmp 0x97de8f
mov edx, dword [esp + 0x10]
push 0x790d6c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c3ff
push esi
lea ecx, [esp + 0x1b8]
call fcn.009a188b
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x1b8], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c0], edx
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
mov dword [esp + 0x1c8], ecx
push eax
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x1d0], edx
call fcn.009a188b
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x1dc], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x1d8], edx
mov edx, dword [esi + 0x30]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e4], edx
mov edx, dword [esi + 0x3c]
lea eax, [esi + 0x40]
mov dword [esp + 0x1ec], ecx
push eax
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f4], edx
call fcn.009a188b
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esi + 0x50]
mov dword [esp + 0x1fc], edx
mov edx, dword [esi + 0x54]
mov dword [esp + 0x200], eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x204], ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x208], edx
mov edx, dword [esi + 0x60]
mov dword [esp + 0x20c], eax
mov eax, dword [esi + 0x64]
mov dword [esp + 0x210], ecx
mov ecx, dword [esi + 0x68]
mov dword [esp + 0x214], edx
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x218], eax
mov eax, dword [esi + 0x70]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x220], edx
mov edx, dword [esi + 0x78]
add esi, 0x7c
mov dword [esp + 0x228], ecx
push esi
lea ecx, [esp + 0x234]
mov dword [esp + 0x228], eax
mov dword [esp + 0x230], edx
call fcn.009a188b
lea eax, [esp + 0x1b4]
mov edi, 1
push eax
push 0x790d6c
mov ecx, ebp
mov dword [esp + 0x20c], edi
call fcn.0097e230
mov ecx, dword [esp + 0x14]
mov esi, 0x64
mov eax, dword [ecx - 8]
cmp dword [esp + 0x1c], eax
jge 0x97c335
lea edx, [esp + 0x1c]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x134]
push eax
push ecx
mov ecx, ebp
call fcn.009809e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 0xd
call fcn.009a188b
lea ecx, [esp + 0x130]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov edx, dword [esp + 0x10]
cmp dword [edx - 8], ebx
je 0x97c31e
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea eax, [esp + 0x20]
push 0x3d
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x14c]
push ecx
push edx
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0xe
call fcn.009a188b
lea ecx, [esp + 0x140]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov eax, dword [esp + 0x10]
push 0x790d64
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c2b9
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.00981a60
push ebx
lea edx, [esp + 0x1c]
push 0x64
push edx
mov ecx, ebp
mov edi, eax
call fcn.00980100
mov esi, eax
jmp 0x97c31e
mov eax, dword [esp + 0x10]
push 0x790d9c
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c2ed
mov ecx, dword [esp + 0x204]
push ebx
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, ebp
call fcn.00980100
mov dword [esp + 0x204], eax
jmp 0x97c31e
mov eax, dword [esp + 0x10]
push 0x790d94
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c31e
mov ecx, dword [esp + 0x1d4]
lea edx, [esp + 0x18]
push ecx
push edx
mov ecx, ebp
call fcn.0097ff90
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax - 8]
cmp ecx, eax
jl 0x97c1e4
cmp edi, ebx
je 0x97c34e
cmp dword [esp + 0x2b4], ebx
je 0x97c38b
mov eax, dword [ebp + 0xb0]
add eax, esi
xor esi, esi
mov dword [ebp + 0xb0], eax
cmp dword [esp + 0x2b4], ebx
je 0x97c3a5
mov edx, dword [esp + 0x204]
mov ecx, dword [ebp + 0xa8]
lea eax, [edx + 8]
cmp ecx, eax
jle 0x97c36d
mov eax, ecx
mov dword [ebp + 0xa8], eax
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0xb4], eax
mov eax, dword [esp + 0x20]
add eax, esi
mov dword [esp + 0x20], eax
jmp 0x97de9e
mov ecx, dword [ebp + 0x148]
mov edx, dword [ebp + 0x140]
push 0x64
sub ecx, edx
push esi
push ecx
call dword [0x4de368]
mov esi, eax
cmp dword [esp + 0x2a8], ebx
jne 0x97c3b2
xor edi, edi
jmp 0x97c3bc
mov ecx, dword [esp + 0x2a8]
mov edi, dword [ecx + 4]
mov eax, dword [ebp + 0xa8]
mov ecx, dword [esp + 0x204]
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar eax, 1
add eax, edx
mov edx, dword [esp + 0x1d4]
push ecx
mov ecx, dword [esp + 0x24]
push 1
push edx
lea edx, [esi + ecx]
push eax
push edx
push eax
push ecx
push edi
lea ecx, [ebp + 0xb8]
call fcn.00988d70
add dword [esp + 0x20], esi
jmp 0x97de9e
mov eax, dword [esp + 0x10]
push 0x790d60
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97dd93
mov ecx, dword [esp + 0x10]
push 0x790d5c
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97dd93
mov edx, dword [esp + 0x10]
push 0x790d58
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97dcf8
mov eax, dword [esp + 0x10]
push 0x790d54
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97dcf8
mov ecx, dword [esp + 0x10]
push 0x790d4c
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c4ad
push 0x790d4c
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97c4a0
mov dword [ebp + 0x68], ebx
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
mov eax, dword [esp + 0x10]
push 0x790d44
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c4f3
push 0x790d44
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97de8f
mov dword [ebp + 0x68], 1
jmp 0x97de8f
mov edx, dword [esp + 0x10]
push 0x790d3c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c53d
push 0x790d3c
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97c530
mov dword [ebp + 0x68], 2
mov eax, dword [esp + 0x2a8]
push eax
jmp 0x97de97
mov ecx, dword [esp + 0x10]
push 0x790d30
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c587
push 0x790d30
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97c57a
mov dword [ebp + 0x6c], 3
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
mov eax, dword [esp + 0x10]
push 0x790d2c
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c5c9
push 0x790d2c
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97de8f
mov dword [ebp + 0x6c], ebx
jmp 0x97de8f
mov edx, dword [esp + 0x10]
push 0x790d24
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97dcc4
mov eax, dword [esp + 0x10]
push 0x790d1c
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97dcc4
mov ecx, dword [esp + 0x10]
push 0x790d14
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c647
push 0x790d14
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97c63a
mov dword [ebp + 0x6c], 2
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
mov eax, dword [esp + 0x10]
push 0x790d10
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97c9bd
mov eax, dword [0x793480]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov ecx, 1
mov eax, 0x64
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xf4]
mov byte [esp + 0x29c], 0x11
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xf0], 0xff00ff
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.009a1729
lea ecx, [esp + 0xf8]
call fcn.009a1729
lea ecx, [esp + 0xbc]
lea edx, [esp + 0x14]
push ecx
push edx
mov ecx, ebp
call fcn.00981430
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xf4]
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
cmp eax, ebx
jne 0x97c736
cmp edx, ebx
jne 0x97c736
cmp esi, ebx
jne 0x97c736
cmp dword [ecx - 8], ebx
je 0x97c98e
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x38], 1
je 0x97c752
push eax
mov ecx, ebp
call fcn.00977540
mov esi, eax
mov dword [esp + 0x30], esi
jmp 0x97c799
cmp dword [ecx - 8], ebx
je 0x97c767
push ecx
mov ecx, ebp
call fcn.00977580
mov esi, eax
mov dword [esp + 0x30], esi
jmp 0x97c799
cmp edx, ebx
je 0x97c783
mov eax, dword [esp + 0xf8]
mov ecx, ebp
push eax
push edx
call fcn.009775a0
mov esi, eax
mov dword [esp + 0x30], esi
jmp 0x97c799
cmp esi, ebx
je 0x97c98e
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], 0
xor ebx, ebx
cmp esi, ebx
je 0x97c98e
lea ecx, [esp + 0xbc]
push ecx
mov ecx, ebp
call fcn.0097f1c0
lea edx, [esp + 0x28c]
push esi
lea ecx, [ebp + 0xb8]
push edx
mov dword [esp + 0x44], eax
call fcn.00986530
mov ecx, eax
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0xe8]
test ecx, ecx
je 0x97c7ef
mov edx, dword [esp + 0xd4]
push 0x64
push edx
push eax
call dword [0x4de368]
mov ebx, eax
jmp 0x97c7f6
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xec]
test eax, eax
je 0x97c814
mov eax, dword [esp + 0xd8]
push 0x64
push eax
push esi
call dword [0x4de368]
jmp 0x97c81b
mov eax, dword [esp + 0xd8]
test ebx, ebx
mov dword [esp + 0x104], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], eax
je 0x97c857
test eax, eax
je 0x97c857
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x97c857
mov eax, dword [ebp + 0x164]
mov ecx, dword [ebp + 0x168]
lea edx, [ebx + eax]
mov eax, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2b4]
test eax, eax
je 0x97c86b
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0xb4], eax
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
lea edx, [esp + 0x290]
push ecx
push edx
mov ecx, ebp
call fcn.0097e700
mov esi, dword [eax]
test ebx, ebx
mov edi, dword [eax + 4]
je 0x97c96d
mov eax, dword [esp + 0x104]
test eax, eax
je 0x97c96d
mov eax, dword [esp + 0x2b4]
test eax, eax
jne 0x97c96d
mov ecx, dword [esp + 0x50]
sub esp, 0x10
mov eax, dword [esp + 0x64]
mov edx, esp
add ecx, esi
add eax, edi
mov dword [edx], esi
mov dword [edx + 4], edi
mov dword [edx + 8], ecx
mov ecx, ebp
mov dword [edx + 0xc], eax
call fcn.0097e170
mov eax, dword [ebp + 0x9c]
test eax, eax
je 0x97c907
mov eax, dword [ebp + 0x154]
mov ecx, dword [ebp + 0x150]
cmp eax, ecx
jne 0x97c907
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xdc], ecx
mov edx, dword [ebp + 0x178]
mov eax, dword [ebp + 0x170]
mov ecx, dword [ebp + 0x16c]
push edx
mov edx, dword [ebp + 0x168]
push eax
mov eax, dword [ebp + 0x164]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0xec]
push eax
mov eax, dword [esp + 0x104]
push ecx
mov ecx, dword [esp + 0xfc]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x124]
push ecx
mov ecx, dword [esp + 0x2cc]
push edx
push eax
push ebx
mov edx, dword [ecx + 4]
push edi
push esi
push edx
lea ecx, [ebp + 0xb8]
call fcn.00988030
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x20], ecx
je 0x97c98e
mov ecx, dword [esp + 0x30]
push ecx
call dword [0x4de094]
lea ecx, [esp + 0xf8]
mov byte [esp + 0x29c], 0x12
call fcn.009a179e
lea ecx, [esp + 0xf4]
mov byte [esp + 0x29c], 5
call fcn.009a179e
xor ebx, ebx
jmp 0x97de9e
mov edx, dword [esp + 0x10]
push 0x790d08
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97ccdf
mov eax, dword [0x793480]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], eax
jmp 0xd9fd7b
mov edx, dword [esp + 0x10]
push 0x790d00
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d651
mov eax, dword [esp + 0x10]
push 0x790cf8
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d651
mov ecx, dword [esp + 0x10]
push 0x790cf0
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97d034
push 0x7dac64
lea ecx, [esp + 0x9c]
xor esi, esi
call fcn.009a180c
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x29c], 0x17
mov eax, dword [edx - 8]
cmp ecx, eax
jge 0x97d01b
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x174]
push ecx
push edx
mov ecx, ebp
call fcn.009809e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 0x18
call fcn.009a188b
lea ecx, [esp + 0x170]
mov byte [esp + 0x29c], 0x17
call fcn.009a179e
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x97ced2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea ecx, [esp + 0x20]
push 0x3d
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x148]
push edx
push eax
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0x19
call fcn.009a188b
lea ecx, [esp + 0x13c]
mov byte [esp + 0x29c], 0x17
call fcn.009a179e
mov ecx, dword [esp + 0x10]
push 0x790ce8
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97ce24
push ebx
lea edx, [esp + 0x1c]
push esi
push edx
mov ecx, ebp
call fcn.00980100
mov esi, eax
jmp 0x97ced2
mov eax, dword [esp + 0x10]
push 0x790ce0
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97ce4f
push ebx
lea ecx, [esp + 0x1c]
push ebx
push ecx
mov ecx, ebp
call fcn.00980100
mov esi, eax
jmp 0x97ced2
mov edx, dword [esp + 0x10]
push 0x790cd8
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97ced2
push ecx
lea eax, [esp + 0x9c]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.009a1513
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
mov byte [esp + 0x2a8], 0x1a
call fcn.009a1513
lea eax, [esp + 0x110]
mov ecx, ebp
push eax
mov byte [esp + 0x2a8], 0x17
call fcn.00981840
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2a0], 0x1b
call fcn.009a188b
lea ecx, [esp + 0x108]
mov byte [esp + 0x29c], 0x17
call fcn.009a179e
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 8]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jl 0x97cd5b
cmp esi, ebx
je 0x97d01b
push 0x7dac64
lea ecx, [esp + 0x48]
call fcn.009a180c
lea edx, [esp + 0x148]
push esi
push edx
mov ecx, ebp
mov byte [esp + 0x2a4], 0x1c
call fcn.00977620
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x2a0], 0x1d
call fcn.009a188b
lea ecx, [esp + 0x148]
mov byte [esp + 0x29c], 0x1c
call fcn.009a179e
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.009821a0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax - 8]
cmp ecx, ebx
je 0x97d00a
lea edx, [esp + 0x10c]
push edx
push ecx
push eax
mov eax, dword [esp + 0x2b4]
mov ecx, dword [eax + 8]
push ecx
call 0xd83485
nop
cmp dword [esp + 0x2b4], ebx
je 0x97cf81
mov edx, dword [ebp + 0x68]
mov dword [ebp + 0xb4], edx
mov eax, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x110]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push eax
push ebx
push ecx
lea eax, [esp + 0x280]
push edx
push eax
mov ecx, ebp
call fcn.0097e650
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x2b4]
test eax, eax
jne 0x97cff7
mov ecx, dword [esp + 0x10c]
sub esp, 0x10
mov edx, esp
lea eax, [esi + ecx]
lea ecx, [edi + ebx]
mov dword [edx], esi
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.0097e170
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [eax - 8]
mov ebx, dword [edx]
push ecx
push eax
push edi
push esi
mov ecx, edx
call dword [ebx + 0x5c]
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x20]
add ecx, eax
xor ebx, ebx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x29c], 0x17
call fcn.009a179e
lea ecx, [esp + 0x98]
mov byte [esp + 0x29c], 5
call fcn.009a179e
jmp 0x97de9e
mov ecx, dword [esp + 0x10]
push 0x790b94
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov edx, dword [esp + 0x10]
push 0x790cd4
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov eax, dword [esp + 0x10]
push 0x790cd0
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov ecx, dword [esp + 0x10]
push 0x790ccc
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov edx, dword [esp + 0x10]
push 0x790cc8
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov eax, dword [esp + 0x10]
push 0x790cc4
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov ecx, dword [esp + 0x10]
push 0x790cc0
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov edx, dword [esp + 0x10]
push 0x790cbc
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov eax, dword [esp + 0x10]
push 0x790cb4
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov ecx, dword [esp + 0x10]
push 0x790cb0
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov edx, dword [esp + 0x10]
push 0x790cac
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov eax, dword [esp + 0x10]
push 0x790ca4
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov ecx, dword [esp + 0x10]
push 0x790ca0
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov edx, dword [esp + 0x10]
push 0x790c9c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d617
mov eax, dword [esp + 0x10]
push 0x790c94
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d46f
mov ecx, dword [esp + 0x10]
push 0x790c90
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d46f
mov edx, dword [esp + 0x10]
push 0x790c8c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97de9e
push 0x790c84
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97d462
lea edi, [ebp + 0xa0]
mov dword [ebp + 0x9c], 2
mov ecx, edi
call fcn.009a1729
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax - 8]
cmp ecx, eax
jge 0x97d423
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x118]
push edx
push eax
mov ecx, ebp
call fcn.009809e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 0x24
call fcn.009a188b
lea ecx, [esp + 0x114]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 8], ebx
je 0x97d410
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea edx, [esp + 0x20]
push 0x3d
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x15c]
push eax
push ecx
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0x25
call fcn.009a188b
lea ecx, [esp + 0x150]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov edx, dword [esp + 0x10]
push 0x790c7c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d306
mov eax, dword [esp + 0x10]
push 0x790c78
push eax
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97d375
push ecx
mov dword [ebp + 0x9c], 1
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x7dac64
call fcn.009a180c
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
mov byte [esp + 0x2a8], 0x26
call fcn.009a1513
lea eax, [esp + 0x128]
mov ecx, ebp
push eax
mov byte [esp + 0x2a8], 5
call fcn.00981840
push eax
mov ecx, edi
mov byte [esp + 0x2a0], 0x27
call fcn.009a188b
lea ecx, [esp + 0x120]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov ecx, dword [esp + 0x10]
push 0x790c74
push ecx
call fcn.0098ffc4
add esp, 8
test eax, eax
je 0x97d3a1
mov edx, dword [esp + 0x10]
push 0x790c6c
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97d410
push ecx
mov dword [ebp + 0x9c], 2
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x7dac64
call fcn.009a180c
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov byte [esp + 0x2a8], 0x28
call fcn.009a1513
lea ecx, [esp + 0x160]
mov byte [esp + 0x2a4], 5
push ecx
mov ecx, ebp
call fcn.00981840
push eax
mov ecx, edi
mov byte [esp + 0x2a0], 0x29
call fcn.009a188b
lea ecx, [esp + 0x158]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx - 8]
cmp ecx, eax
jl 0x97d23c
mov edx, dword [ebp + 0x154]
mov ecx, dword [ebp + 0x150]
inc edx
push esi
mov eax, edx
mov dword [ebp + 0x154], edx
cmp eax, ecx
jne 0x97d456
push 0x790c64
mov ecx, ebp
call fcn.0097e230
mov eax, dword [esp + 0x2a8]
push eax
jmp 0x97de97
push 0x790c5c
mov ecx, ebp
call fcn.0097e230
mov eax, dword [esp + 0x2a8]
push eax
jmp 0x97de97
push 0x790c94
mov ecx, esi
call fcn.009a18db
cmp edi, ebx
jne 0x97d5f9
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x130]
push edx
push eax
mov ecx, ebp
call fcn.009809e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a0], 0x1f
call fcn.009a188b
lea ecx, [esp + 0x12c]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 8], ebx
je 0x97de9e
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea edx, [esp + 0x20]
push 0x3d
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x108]
push eax
push ecx
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0x20
call fcn.009a188b
lea ecx, [esp + 0xfc]
mov byte [esp + 0x29c], 5
call fcn.009a179e
mov edx, dword [esp + 0x10]
push 0x790c54
push edx
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97de9e
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x7dac64
call fcn.009a180c
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov byte [esp + 0x2a8], 0x21
call fcn.009a1513
lea ecx, [esp + 0xac]
mov byte [esp + 0x2a4], 5
push ecx
mov ecx, ebp
call fcn.00981840
push ebx
mov ecx, ebp
mov byte [esp + 0x2a0], 0x22
call fcn.0097e260
test eax, eax
je 0x97d5e0
lea edx, [esp + 0xa4]
lea eax, [esp + 0x168]
push edx
push 0x790c50
push eax
call fcn.009a1a5b
mov eax, dword [eax]
push esi
push eax
mov ecx, ebp
mov byte [esp + 0x2a4], 0x23
call fcn.0097e230
lea ecx, [esp + 0x168]
mov byte [esp + 0x29c], 0x22
call fcn.009a179e
mov ecx, dword [esp + 0x2a8]
push ecx
mov ecx, ebp
call fcn.0097e570
lea ecx, [esp + 0xa4]
mov byte [esp + 0x29c], 5
call fcn.009a179e
jmp 0x97de9e
push 1
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.009a188b
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97d644
mov ecx, dword [esp + 0x10]
push esi
push ecx
mov ecx, ebp
call fcn.0097e230
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
mov eax, dword [0x793480]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
jmp 0xd19418
push 0x790d1c
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97dceb
mov dword [ebp + 0x6c], 1
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
push 0x790c4c
mov ecx, esi
call fcn.009a18db
mov eax, dword [esp + 0x10]
push 0x790d54
push eax
mov esi, 1
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97dd81
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea ecx, [esp + 0x20]
push 0x3d
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x144]
push edx
push eax
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0x10
call fcn.009a188b
lea ecx, [esp + 0x138]
mov byte [esp + 0x29c], 5
call fcn.009a179e
push ebx
lea ecx, [esp + 0x1c]
push esi
push ecx
mov ecx, ebp
call fcn.00980100
mov esi, eax
lea edx, [esp + 0x20]
push esi
push edx
mov ecx, ebp
call fcn.0097e990
jmp 0x97de9e
push 0x790c40
mov ecx, esi
call fcn.009a18db
mov eax, dword [esp + 0x10]
push 0x790d60
push eax
mov esi, 1
call fcn.0098ffc4
add esp, 8
test eax, eax
jne 0x97de1c
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x790324
call fcn.009a180c
lea ecx, [esp + 0x20]
push 0x3d
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x170]
push edx
push eax
mov ecx, ebp
call fcn.00980da0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a0], 0xf
call fcn.009a188b
lea ecx, [esp + 0x164]
mov byte [esp + 0x29c], 5
call fcn.009a179e
push ebx
lea ecx, [esp + 0x1c]
push esi
push ecx
mov ecx, ebp
call fcn.00980100
mov esi, eax
mov edx, dword [esp + 0x2b4]
lea eax, [esp + 0x20]
push edx
push esi
push eax
mov ecx, ebp
call fcn.0097e810
jmp 0x97de9e
push 0x790c34
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97de5c
mov eax, dword [ebp + 0x38]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [ebp + 0x38], ecx
mov edx, dword [esp + 0x2a8]
push edx
jmp 0x97de97
push 0x790c2c
mov ecx, esi
call fcn.009a18db
push edi
mov ecx, ebp
call fcn.0097e260
test eax, eax
je 0x97de9e
cmp edi, ebx
jne 0x97de8f
mov ecx, dword [ebp + 0x30]
xor eax, eax
cmp ecx, ebx
sete al
mov dword [ebp + 0x30], eax
mov ecx, dword [esp + 0x2a8]
push ecx
mov ecx, ebp
call fcn.0097e570
mov edx, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x40]
mov eax, dword [edx]
mov eax, dword [eax - 8]
cmp ecx, eax
jl 0x97b9c9
mov ecx, dword [esp + 0x2b4]
lea edx, [esp + 0x20]
push ecx
push 1
push edx
mov ecx, ebp
call fcn.0097e810
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x144]
mov edx, dword [esp + 0x144]
sub eax, ecx
mov dword [ebp + 0x130], eax
mov eax, dword [ebp + 0x134]
cmp edx, eax
mov dword [esp + 0x40], edx
jge 0x97df5b
lea ebx, [ebp + 0xa4]
mov eax, dword [ebp + 0x20c]
lea ecx, [edx + edx*4]
mov edi, ebx
lea esi, [eax + ecx*4]
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0xb0]
test eax, eax
je 0x97df4c
mov edx, dword [ebp + 0x12c]
push 0x64
push edx
push eax
lea ebx, [ebp + 0xa4]
call dword [0x4de368]
mov esi, dword [ebx]
mov ecx, dword [ebp + 0x12c]
add esi, eax
mov eax, esi
mov dword [ebx], esi
cmp ecx, eax
jle 0x97df42
mov eax, ecx
mov edx, dword [esp + 0x40]
mov dword [ebp + 0x12c], eax
mov eax, dword [ebp + 0x134]
inc edx
cmp edx, eax
mov dword [esp + 0x40], edx
jl 0x97def9
mov esi, dword [esp + 0x2a4]
mov eax, dword [ebp + 0x12c]
mov dword [esi], eax
mov ecx, dword [ebp + 0x130]
mov dword [esi + 4], ecx
lea ecx, [esp + 0x230]
mov byte [esp + 0x29c], 0x2c
call fcn.009a179e
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x29c], 0x2b
call fcn.009a179e
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x29c], 0x2a
call fcn.009a179e
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x29c], 4
call fcn.009a179e
lea ecx, [esp + 0x18]
mov byte [esp + 0x29c], 3
call fcn.009a179e
lea ecx, [esp + 0x10]
mov byte [esp + 0x29c], 2
call fcn.009a179e
lea ecx, [esp + 0x14]
mov byte [esp + 0x29c], 1
call fcn.009a179e
lea ecx, [esp + 0x28]
mov dword [esp + 0x29c], 0xffffffff
call fcn.009a179e
mov eax, esi
mov ecx, dword [esp + 0x294]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x290
ret 0x14