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

Disassembly:
mov ecx, dword [0xae4be8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1b0]
cmp eax, dword [ecx + 8]
jbe 0x82c094
sub esp, 0x230
mov dword [esp + 0x24c], 0
mov ecx, dword [esp + 0x234]
mov ebx, dword [ecx + 0x18c]
mov ebp, dword [esp + 0x23c]
cmp ebp, ebx
jne 0x82a1bc
mov esi, dword [ecx + 0x19c]
jmp 0x82a1be
mov esi, ebx
mov dword [esp + 0x60], esi
mov eax, esi
mov esi, dword [esp + 0x240]
cmp esi, 0x128
ja 0x82aa83
cmp esi, 0x4e
ja 0x82a902
cmp esi, 0x14
jne 0x82a1fd
mov eax, dword [esp + 0x248]
mov edx, 1
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
cmp esi, 0x47
jne 0x82a274
mov ebx, dword [esp + 0x248]
mov eax, ebx
mov edx, dword [ebx + 0x18]
test edx, 1
je 0x82a224
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
mov dword [esp + 0x1b8], ebx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov eax, dword [eax + 0x28]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0x10]
cmp dword [esp + 0xc], eax
setg al
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edx, eax
mov ebx, dword [esp + 0x244]
mov eax, dword [esp + 0x248]
jmp 0x82ae39
cmp esi, 0x4e
jne 0x82abef
mov edx, esi
mov esi, dword [esp + 0x248]
mov edi, esi
mov eax, dword [esi]
cmp dword [ecx + 0x190], eax
je 0x82a29a
cmp dword [ecx + 0x1a0], eax
jne 0x82a2da
cmp dword [esi + 8], 0xfffffff4
je 0x82a2a4
cmp ebp, ebx
jmp 0x82a2dc
mov dword [esp], eax
mov dword [esp + 4], 0x4e
mov eax, dword [esp + 0x244]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.0082c570
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24c], eax
call fcn.00757b80
add esp, 0x230
ret
cmp ebp, ebx
mov dword [esp + 0x1b8], esi
sete bl
mov eax, dword [esi + 8]
cmp eax, 0xffffff8d
ja 0x82a561
cmp eax, 0xffffff4c
ja 0x82a462
cmp eax, 0xfffffebf
je 0x82a434
cmp eax, 0xffffff4c
jne 0x82b25f
movzx ebx, byte [ecx + 0x2f8]
test bl, bl
jne 0x82b25f
mov byte [ecx + 0x2f8], 1
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 0
lea eax, [0x82c1e0]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ecx
lea eax, [esp + 0x1d4]
mov dword [esp + 0x144], eax
lea eax, [esp + 0x138]
mov dword [esp], eax
call fcn.007575f0
test eax, eax
jne 0x82a428
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0x23c]
mov dword [esp], ecx
mov dword [esp + 4], 0x100e
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.007e6d40
mov eax, dword [esp + 0x248]
mov edx, dword [esp + 0xb0]
sub edx, dword [esp + 0xa8]
imul edx, dword [eax + 0x10]
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0x1014
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
call fcn.007e6d40
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
call fcn.00757b80
add esp, 0x230
ret
mov dword [esp], ecx
mov byte [esp + 4], 0
call fcn.0082d460
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
cmp eax, 0xffffff4f
jne 0x82a497
mov eax, dword [ecx + 0x1b0]
mov edx, dword [esi + 0x14]
mov ebp, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x84]
jmp 0x82b96d
cmp eax, 0xffffff8d
jne 0x82b25f
mov ebx, dword [ecx + 0x258]
test ebx, ebx
je 0x82a4b2
cmp ebp, ebx
jne 0x82b25f
mov dword [ecx + 0x258], ebp
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
lea eax, [0x82c180]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
lea eax, [esp + 0x1c4]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xf0]
mov dword [esp], eax
call fcn.007575f0
test eax, eax
jne 0x82a555
mov eax, dword [esp + 0x234]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 8], ecx
call fcn.008295c0
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.00829490
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
call fcn.00757b80
add esp, 0x230
ret
cmp eax, 0xffffff94
ja 0x82a62e
cmp eax, 0xffffff8e
je 0x82a5a6
cmp eax, 0xffffff94
jne 0x82b25f
mov eax, dword [ecx + 0x1b0]
mov esi, dword [esi + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x8c]
jmp 0x82b80f
mov eax, dword [ecx + 0x2b4]
test eax, eax
jle 0x82a5b7
mov byte [ecx + 0x2dd], 1
mov eax, dword [esi + 0xc]
cmp dword [ecx + 0x250], eax
je 0x82a5ff
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00828c20
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x25c]
mov dword [esp], ecx
call fcn.0081ed50
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x304]
mov dword [esp], ecx
call fcn.0081ed50
mov ecx, dword [esp + 0x234]
lea eax, [ecx + 0x274]
mov dword [esp], eax
call fcn.0081ed50
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
cmp eax, 0xffffff9b
jne 0x82a8ad
mov ebx, dword [ecx + 0x258]
test ebx, ebx
je 0x82a649
cmp ebp, ebx
jne 0x82b25f
mov dword [ecx + 0x258], ebp
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
lea eax, [0x82c1b0]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
lea eax, [esp + 0x1cc]
mov dword [esp + 0x120], eax
lea eax, [esp + 0x114]
mov dword [esp], eax
call fcn.007575f0
test eax, eax
jne 0x82a8a1
mov eax, dword [esp + 0x234]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 8], ecx
call fcn.008295c0
mov eax, dword [esp + 0x1b8]
cmp dword [eax + 0xc], 0xffffffff
jne 0x82a6f9
mov ecx, dword [esp + 0x234]
movzx ebx, byte [ecx + 0x2b0]
test bl, bl
jne 0x82a700
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
mov ecx, dword [esp + 0x234]
mov byte [ecx + 0x2b0], 0
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x80], ebx
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x7c], ebp
test ebx, 2
cmp dword [ecx + 0x254], 0xffffffff
je 0x82a76b
test ebx, 2
jbe 0x82a767
test ebp, 2
jbe 0x82a73b
xor edx, edx
jmp 0x82a76d
call fcn.00822a80
movzx eax, byte [esp]
test al, 3
sete al
mov ecx, dword [esp + 0x234]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov edx, eax
mov eax, dword [esp + 0x1b8]
jmp 0x82a76d
xor edx, edx
jmp 0x82a76d
xor edx, edx
test dl, dl
jne 0x82a77c
test ebx, 2
jmp 0x82a836
mov edx, dword [ecx + 0x250]
mov dword [ecx + 0x24c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x250], edx
mov edx, dword [ecx + 0x2b4]
test edx, edx
jle 0x82a810
mov byte [ecx + 0x2dd], 0
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x2b4]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.007e71d0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x82a7e5
lea eax, [0x897436]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0081e9d0
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00828c20
mov eax, dword [esp + 0x80]
test eax, 2
jmp 0x82a82b
mov eax, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00828c20
mov eax, dword [esp + 0x80]
test eax, 2
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x7c]
seta bl
test ebp, 2
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg ebp, eax
cmp al, bl
xchg ebp, eax
je 0x82a887
movzx ebx, byte [ecx + 0x2b1]
test bl, bl
jne 0x82a887
mov dword [esp], ecx
call fcn.00829420
movzx eax, byte [esp + 4]
test al, al
jne 0x82a871
mov ecx, dword [esp + 0x234]
jmp 0x82a887
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.00829490
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
call fcn.00757b80
add esp, 0x230
ret
cmp eax, 0xfffffff4
jne 0x82b25f
mov eax, dword [esi + 0x48]
test eax, eax
jne 0x82a8eb
mov eax, dword [ecx + 0x1b0]
mov esi, dword [esi + 0x38]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x94]
jmp 0x82b288
mov dword [esp + 0x24c], 0x100
call fcn.00757b80
add esp, 0x230
ret
cmp esi, 0x100
ja 0x82a9fc
cmp esi, 0x87
jne 0x82a947
mov ebx, dword [esp + 0x244]
cmp ebx, 0xd
je 0x82a930
mov eax, dword [esp + 0x248]
xor edx, edx
jmp 0x82ae39
mov dword [esp + 0x24c], 4
call fcn.00757b80
add esp, 0x230
ret
cmp esi, 0x100
jne 0x82abef
mov eax, dword [esp + 0x244]
cmp eax, 0x20
jne 0x82a9bb
mov edx, dword [ecx + 0x250]
test edx, edx
jl 0x82a9bb
mov edx, dword [ecx + 0x1c4]
test edx, edx
je 0x82a9bb
mov dword [esp], ecx
call fcn.00828bb0
movzx eax, byte [esp + 4]
test al, al
jne 0x82a994
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x234]
jmp 0x82a9bb
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x250]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00829aa0
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x248]
mov dword [esp + 8], edx
call fcn.00837350
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
cmp esi, 0x101
je 0x82aa42
cmp esi, 0x128
jne 0x82abef
mov ebx, dword [esp + 0x244]
cmp bx, 1
jne 0x82aa25
or ebx, 0x10000
jmp 0x82aa34
lea eax, [ebx - 2]
cmp ax, 1
ja 0x82aa34
and ebx, 0x10000
mov eax, dword [esp + 0x248]
xor edx, edx
jmp 0x82ae39
lea eax, [ecx + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x244]
mov word [esp + 4], ax
call fcn.00822c90
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
cmp esi, 0x202
ja 0x82aaac
cmp esi, 0x200
je 0x82ab03
cmp esi, 0x201
je 0x82ac04
cmp esi, 0x202
je 0x82aacc
jmp 0x82abef
cmp esi, 0x205
ja 0x82aaeb
cmp esi, 0x204
jbe 0x82ac04
cmp esi, 0x205
jne 0x82abef
mov dword [ecx + 0x254], 0xffffffff
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
cmp esi, 0x206
je 0x82ac04
cmp esi, 0x2a3
jne 0x82abef
movzx ebx, byte [ecx + 0x2fa]
test bl, bl
je 0x82ab23
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
mov byte [ecx + 0x2fa], 1
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0
lea eax, [0x82c540]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], ecx
lea eax, [esp + 0x1e4]
mov dword [esp + 0x18c], eax
lea eax, [esp + 0x180]
mov dword [esp], eax
call fcn.007575f0
test eax, eax
jne 0x82abe3
mov eax, dword [esp + 0x240]
cmp eax, 0x200
jne 0x82ab92
mov ecx, dword [esp + 0x248]
and ecx, 0xffff0000
jmp 0x82ab99
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x244]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.007e6d40
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x78]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
call fcn.00757b80
add esp, 0x230
ret
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.0078584a
mov ecx, dword [esp + 0x248]
movsx edx, cx
shr ecx, 0x10
movsx ecx, cx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0xb4]
mov dword [esp], ebp
mov dword [esp + 4], 0x1012
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
call fcn.007e6d40
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x234]
mov dword [edx + 0x254], ecx
cmp dword [esp + 0xbc], 1
jne 0x82ace7
mov dword [esp], edx
call fcn.00829420
movzx eax, byte [esp + 4]
test al, al
je 0x82ac92
mov ecx, dword [esp + 0x234]
mov byte [ecx + 0x2b0], 1
jmp 0x82acd6
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.00828bb0
movzx eax, byte [esp + 4]
test al, al
je 0x82ae0d
mov ecx, dword [esp + 0x234]
mov ebx, dword [ecx + 0x250]
test ebx, ebx
jl 0x82acd6
mov dword [esp], ecx
mov dword [esp + 4], 0xffffffff
call fcn.00828c20
mov ecx, dword [esp + 0x234]
movzx ebx, byte [ecx + 0x2fe]
test bl, bl
jne 0x82adf6
mov edx, ecx
mov ecx, dword [esp + 0x240]
cmp ecx, 0x203
ja 0x82ad0b
cmp ecx, 0x201
je 0x82ad13
cmp ecx, 0x203
je 0x82ad85
jmp 0x82add4
cmp ecx, 0x204
jne 0x82ad7d
cmp dword [esp + 0xbc], 8
jne 0x82add4
mov ebx, dword [edx + 0x1c4]
test ebx, ebx
je 0x82add4
mov dword [esp], edx
call fcn.00828bb0
movzx eax, byte [esp + 4]
test al, al
jne 0x82ad53
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x234]
jmp 0x82add4
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00829aa0
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x234]
jmp 0x82add4
cmp ecx, 0x206
jne 0x82add4
mov ebx, dword [edx + 0x250]
cmp dword [edx + 0x24c], ebx
je 0x82add4
mov ebp, dword [edx + 0x2b4]
test ebp, ebp
jle 0x82add4
mov dword [edx + 0x24c], ebx
lea eax, [edx + 0x25c]
mov dword [esp], eax
call fcn.0081ed50
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x304]
mov dword [esp], ecx
call fcn.0081ed50
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x234]
mov ecx, edx
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
mov dword [esp + 0x24c], 0
call fcn.00757b80
add esp, 0x230
ret
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x18c]
mov dword [esp], eax
call fcn.007e6f30
mov dword [esp + 0x24c], 0
call fcn.00757b80
add esp, 0x230
ret
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ebx
mov byte [esp + 0x33], dl
mov dword [esp + 0x48], eax
lea edi, [esp + 0x208]
xor eax, eax
call fcn.0078584b
lea ecx, [0x82c0d0]
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], ebp
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x210], ecx
mov eax, ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x214], ebx
mov edi, ebx
lea ebx, [esp + 0x48]
mov dword [esp + 0x218], ebx
cmp esi, 0x204
ja 0x82af46
cmp esi, 0x201
ja 0x82af2c
cmp esi, 0x200
je 0x82aec4
cmp esi, 0x201
jne 0x82b0ac
jmp 0x82af6a
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x200
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00836fc0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
jmp 0x82b0ac
cmp esi, 0x202
je 0x82b046
cmp esi, 0x204
jne 0x82b0ac
jmp 0x82af6a
cmp esi, 0x207
ja 0x82afd5
cmp esi, 0x205
je 0x82b046
cmp esi, 0x207
jne 0x82b0ac
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0x80]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x240]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x74]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00836fc0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
jmp 0x82b0ac
cmp esi, 0x208
je 0x82b046
cmp esi, 0x20a
jne 0x82b0ac
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0xa4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00837050
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
jmp 0x82b0ac
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x240]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x74]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00836fc0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
test dl, dl
je 0x82b0ee
movzx edx, byte [ecx + 0x2b2]
test dl, dl
je 0x82b124
movzx edx, byte [ecx + 0x2fc]
test dl, dl
jne 0x82b124
mov edx, dword [ecx + 0x1b0]
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x9c]
jmp 0x82b151
mov ecx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.007e4b60
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24c], eax
call fcn.00757b80
add esp, 0x230
ret
cmp esi, 0x14
jne 0x82b0ee
mov dword [esp + 0x24c], 1
call fcn.00757b80
add esp, 0x230
ret
inc edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
cmp edi, edx
jge 0x82b171
mov eax, dword [ebx + edi*4]
movzx eax, byte [eax + 0x40]
test al, al
je 0x82b16b
mov eax, dword [esp + 0x68]
inc eax
jmp 0x82b140
mov eax, dword [esp + 0x68]
jmp 0x82b140
xor edi, edi
xor edi, edi
mov dword [esp + 0x64], edi
xor edi, edi
jmp 0x82b18d
inc edi
mov esi, dword [esp + 0x240]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
cmp edi, edx
jge 0x82b1b3
mov eax, dword [ebx + edi*4]
movzx esi, byte [eax + 0x41]
xchg esi, eax
test al, al
xchg esi, eax
je 0x82b1ad
movzx eax, byte [eax + 0x40]
test al, al
je 0x82b1ad
mov eax, dword [esp + 0x64]
inc eax
jmp 0x82b17d
mov eax, dword [esp + 0x64]
jmp 0x82b17d
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
sub edx, ebx
test edx, edx
je 0x82b1d5
setg dl
cmp dword [ecx + 0x19c], ebp
sete bl
cmp dl, bl
jne 0x82b256
mov byte [ecx + 0x2fc], 1
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
lea eax, [0x82c0a0]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
lea eax, [esp + 0x1bc]
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xcc]
mov dword [esp], eax
call fcn.007575f0
test eax, eax
jne 0x82b24a
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.008297c0
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
jmp 0x82b256
call fcn.00757b80
add esp, 0x230
ret
mov edi, dword [esp + 0x78]
jmp 0x82b124
mov esi, edx
mov eax, edi
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x82ae39
inc ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jge 0x82b2bc
mov ebp, dword [edx + ecx*4]
cmp byte [ebp + 0x41], bl
jne 0x82b2ad
movzx ebp, byte [ebp + 0x40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x82b2ad
mov ebp, dword [esp + 0x58]
cmp ebp, esi
je 0x82b2b3
inc ebp
jmp 0x82b271
mov ebp, dword [esp + 0x58]
jmp 0x82b271
mov ebp, dword [esp + 0x23c]
jmp 0x82b2c1
mov ecx, 0xffffffff
cmp ecx, 0xffffffff
jne 0x82b2d6
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
jmp 0x82b25f
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x1b8]
mov esi, dword [ebx + 0x24]
lea edi, [esp + 0x21c]
xor eax, eax
call fcn.0078584b
lea ecx, [0x82c250]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], esi
mov eax, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], ebx
mov esi, dword [ebx + 0xc]
cmp esi, 0x10001
ja 0x82b6f4
cmp esi, 1
je 0x82b6dd
cmp esi, 0x10001
jne 0x82b79d
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], 0x102c
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.007e6d40
mov eax, dword [esp + 0x10]
test eax, 2
je 0x82b39b
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 0x2c0]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x2c4]
mov dword [ecx + 0x2d0], edx
jmp 0x82b3ba
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 0x2b8]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x2bc]
mov dword [ecx + 0x2d0], edx
je 0x82b3c2
mov ebp, dword [esp + 0x78]
jmp 0x82b402
movzx edx, byte [ecx + 0x2dc]
test dl, dl
je 0x82b3fe
mov edx, dword [esp + 0x78]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
and edx, 0xfffffffe
mov ebp, ebx
sub ebx, edx
cmp ebx, 1
jne 0x82b402
mov edx, dword [ecx + 0x2d4]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x2d8]
mov dword [ecx + 0x2d0], edx
jmp 0x82b402
mov ebp, dword [esp + 0x78]
mov edx, dword [ecx + 0x2cc]
mov dword [ecx + 0x200], edx
mov edx, dword [ecx + 0x2d0]
mov dword [ecx + 0x204], edx
mov edx, dword [ecx + 0x1d4]
test edx, edx
jne 0x82b42e
test eax, 2
jmp 0x82b542
mov dword [esp + 0x4c], eax
mov dword [ecx + 0x1dc], ebp
mov dword [ecx + 0x1e0], 0xffffffff
mov eax, dword [esp + 0x1b8]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
sub ebp, edx
sub esi, ebx
mov dword [ecx + 0x1e4], edx
mov dword [ecx + 0x1e8], ebx
mov dword [ecx + 0x1ec], ebp
mov dword [ecx + 0x1f0], esi
mov edx, dword [ecx + 0x14]
mov dword [esp], edx
call fcn.007e59f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x234]
mov dword [ecx + 0x1f8], eax
mov dword [ecx + 0x1f4], 0
mov eax, dword [0xae4cf0]
test eax, eax
je 0x82b4ae
mov eax, dword [ecx + 0x208]
call fcn.00785680
mov dword [edi], eax
mov dword [ecx + 0x208], 0
mov dword [ecx + 0x20c], 0
mov eax, dword [0xae4cf0]
test eax, eax
je 0x82b4d9
mov eax, dword [ecx + 0x210]
call fcn.00785680
mov dword [edi], eax
mov dword [ecx + 0x210], 0
mov eax, dword [ecx + 0x1d4]
mov edx, dword [ecx + 0x1d8]
mov eax, dword [eax + 0x10]
mov dword [esp], edx
lea edx, [ecx + 0x1dc]
mov dword [esp + 4], edx
call eax
mov eax, dword [0xae4cf0]
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 0x208]
test eax, eax
jne 0x82b523
mov eax, dword [esp + 0x4c]
test eax, 2
jmp 0x82b53c
call fcn.00785690
mov dword [edi], edx
mov eax, dword [ecx + 0x214]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x4c]
test eax, 2
mov dword [ecx + 0x214], edx
je 0x82b55e
mov edx, dword [ecx + 0x2cc]
mov dword [ecx + 0x200], edx
mov edx, dword [ecx + 0x2d0]
mov dword [ecx + 0x204], edx
jmp 0x82b576
mov edx, dword [ecx + 0x200]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x204]
mov dword [ecx + 0x2d0], edx
mov edx, dword [ecx + 0x200]
cmp dword [ecx + 0x2b8], edx
je 0x82b6ad
test eax, 2
je 0x82b5ae
call fcn.007e5b80
mov eax, dword [esp]
mov ecx, dword [esp + 0x234]
cmp dword [ecx + 0x18c], eax
je 0x82b5ae
cmp dword [ecx + 0x19c], eax
jne 0x82b5b6
mov eax, dword [ecx + 0x200]
jmp 0x82b5bc
mov eax, dword [ecx + 0x2c8]
mov dword [esp], eax
call fcn.00819d00
mov eax, dword [esp + 4]
test eax, eax
je 0x82b698
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
lea ecx, [0x82c210]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x168], ecx
lea ecx, [esp + 0x15c]
mov dword [esp], ecx
call fcn.007575f0
test eax, eax
jne 0x82b6a1
mov eax, dword [esp + 0x1b8]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.0081a1e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1b8]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x20]
sub ebp, edx
sub esi, ebx
mov edi, dword [0xabf630]
mov ecx, dword [0xabf634]
mov dword [esp], eax
lea eax, [0x8ce1ac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 1
call fcn.0081ab50
mov ecx, dword [esp + 0x234]
jmp 0x82b6ad
call fcn.00757b80
add esp, 0x230
ret
mov eax, dword [ecx + 0x204]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x30], eax
mov eax, dword [ecx + 0x200]
mov dword [edx + 0x34], eax
mov dword [esp + 0x24c], 0x20
call fcn.00757b80
add esp, 0x230
ret
mov dword [esp + 0x24c], 0x20
call fcn.00757b80
add esp, 0x230
ret
cmp esi, 0x30001
jne 0x82b795
mov eax, dword [ecx + 0x214]
test eax, eax
je 0x82b744
mov eax, dword [ecx + 0x14]
mov dword [esp], eax
call fcn.007e59f0
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x214]
mov dword [esp], eax
call fcn.0081f380
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.007dc080
mov eax, dword [esp + 0x21c]
lea edx, [esp + 0x21c]
call eax
cmp dword [esp], 4
jne 0x82b767
call fcn.007e7c50
movzx eax, byte [esp]
test al, al
jne 0x82b77e
mov dword [esp + 0x24c], 0x112
call fcn.00757b80
add esp, 0x230
ret
mov dword [esp + 0x24c], 4
call fcn.00757b80
add esp, 0x230
ret
cmp esi, 0x30002
je 0x82b7b4
mov dword [esp + 0x24c], 0x100
call fcn.00757b80
add esp, 0x230
ret
mov eax, dword [esp + 0x21c]
lea edx, [esp + 0x21c]
call eax
cmp dword [esp], 4
jne 0x82b7e1
mov dword [esp + 0x24c], 4
call fcn.00757b80
add esp, 0x230
ret
mov dword [esp + 0x24c], 0x102
call fcn.00757b80
add esp, 0x230
ret
inc ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x54], edi
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
mov ebp, dword [esp + 0x34]
cmp ebp, eax
jge 0x82b83a
mov edi, dword [edx + ebp*4]
cmp byte [edi + 0x41], bl
jne 0x82b834
movzx edi, byte [edi + 0x40]
xchg edi, eax
test al, al
xchg edi, eax
je 0x82b834
mov edi, dword [esp + 0x54]
cmp edi, esi
je 0x82b83f
inc edi
jmp 0x82b7f8
mov edi, dword [esp + 0x54]
jmp 0x82b7f8
mov ebp, 0xffffffff
mov dword [esp + 0x34], ebp
mov eax, dword [ecx + 0x1b4]
mov edx, dword [ecx + 0x1b8]
lea ebx, [0x870540]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0072a910
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1a8], ecx
test eax, eax
jne 0x82b880
xor edx, edx
jmp 0x82b8a2
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], ebx
call edx
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x1a8]
mov edx, eax
mov eax, dword [esp + 0x44]
test dl, dl
je 0x82b911
mov edx, dword [eax + 0x20]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 0x34]
cmp dword [esp + 4], eax
jne 0x82b8d6
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 1
jne 0x82b8da
mov eax, dword [esp + 0x34]
xor ecx, ecx
jmp 0x82b8e3
mov eax, dword [esp + 0x34]
mov ecx, 1
mov edx, dword [esp + 0x234]
mov dword [edx + 0x2e0], eax
mov dword [edx + 0x2e4], ecx
mov ebx, dword [esp + 0x44]
mov ebx, dword [ebx + 0x14]
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call ebx
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x280]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.00822920
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x82b25f
inc ecx
mov edi, dword [esp + 0x248]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x234]
mov esi, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jge 0x82b9a8
mov edi, dword [ebp + ecx*4]
cmp byte [edi + 0x41], bl
jne 0x82b995
movzx edi, byte [edi + 0x40]
xchg edi, eax
test al, al
xchg edi, eax
je 0x82b995
mov edi, esi
mov esi, dword [esp + 0x5c]
cmp esi, edx
je 0x82b99d
inc esi
jmp 0x82b94f
mov edi, esi
mov esi, dword [esp + 0x5c]
jmp 0x82b94f
mov esi, edi
mov edi, dword [esp + 0x248]
jmp 0x82b9ad
mov ecx, 0xffffffff
cmp ecx, 0xffffffff
jne 0x82b9cc
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
jmp 0x82b25f
mov dword [esp + 0x3c], ecx
mov ebx, dword [esi + 0xc]
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x6c], ebp
test ebx, 1
jbe 0x82bdc0
mov eax, dword [esp + 0x234]
mov edx, dword [eax + 0x1b4]
mov ebx, dword [eax + 0x1b8]
mov edx, dword [edx + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call edx
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x1b0]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x3c]
cmp ebx, edx
jae 0x82c08a
mov ebp, dword [ecx + 4]
mov ebp, dword [ebp + ebx*4]
mov edx, dword [ebp + 0x3c]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edx, edx
jne 0x82bcfa
mov edx, dword [esp + 0xc]
test edx, edx
je 0x82bc77
mov edx, dword [edx + 8]
cmp edx, 0x8cac3de9
ja 0x82bb8f
cmp edx, 0x778cdb8
jne 0x82ba7e
lea edx, [0x85ee00]
cmp ecx, edx
jne 0x82bc77
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx]
jmp 0x82bd0d
cmp edx, 0x8c9289c2
jne 0x82bace
lea edx, [0x87ef40]
cmp ecx, edx
jne 0x82bc77
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x82baa0
mov ecx, 2
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0082f420
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x234]
lea edx, [0x85ee00]
mov ebx, dword [esp + 0x3c]
jmp 0x82bd0d
cmp edx, 0x8cac3de9
jne 0x82bc77
lea edx, [0x881fc0]
cmp ecx, edx
jne 0x82bc77
mov esi, dword [esp + 0x10]
lea edi, [esp + 0x1f4]
call fcn.00785d2e
lea edi, [esp]
lea esi, [esp + 0x1f4]
call fcn.00785d2e
mov byte [esp + 0x14], 0
call fcn.007b4090
cmp dword [esp + 0x18], 0x641
jle 0x82bb71
mov edx, dword [esp + 0x234]
mov ebx, dword [edx + 0x1b0]
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
jae 0x82c085
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x70], ecx
lea edi, [esp]
lea esi, [esp + 0x1f4]
call fcn.00785d2e
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x18], ecx
call fcn.007b0000
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jmp 0x82bb75
xor ecx, ecx
xor eax, eax
lea edx, [0x85ee00]
mov ebx, dword [esp + 0x3c]
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x234]
jmp 0x82bd0d
cmp edx, 0x8d826c95
jne 0x82bbe9
lea edx, [0x85ef00]
cmp ecx, edx
jne 0x82bc77
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x82bbb1
mov ecx, 2
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
call fcn.0082f390
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x234]
lea edx, [0x85ee00]
mov ebx, dword [esp + 0x3c]
jmp 0x82bd0d
cmp edx, 0x93592d94
jne 0x82bc3b
lea edx, [0x85ef40]
cmp ecx, edx
jne 0x82bc77
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x82bc07
mov ecx, 2
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
call fcn.0082f390
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x234]
lea edx, [0x85ee00]
mov ebx, dword [esp + 0x3c]
jmp 0x82bd0d
cmp edx, 0xb00b9f48
jne 0x82bc77
lea edx, [0x85ee40]
cmp ecx, edx
jne 0x82bc77
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx]
test cl, cl
je 0x82bc66
mov ecx, dword [0xabf638]
mov edx, dword [0xabf63c]
jmp 0x82bc6a
xor edx, edx
xor ecx, ecx
mov ebp, edx
lea edx, [0x85ee00]
jmp 0x82bd0d
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], esi
mov edx, dword [eax + 0x1b0]
mov ecx, dword [edx + 8]
cmp ebx, ecx
jae 0x82c07e
mov eax, dword [edx + 4]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x1ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.007c1740
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x234]
lea edx, [0x85ee00]
mov ebx, dword [esp + 0x3c]
jmp 0x82bd0d
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], esi
call eax
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.007a7e80
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x82c066
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1b8]
mov esi, dword [ebp + 0x24]
cmp ebx, esi
jl 0x82bd39
mov ebx, esi
mov esi, dword [ebp + 0x20]
test byte [esi], al
mov edx, dword [esp + 0x10]
cmp ebx, edx
ja 0x82c05f
cmp ebx, 0x108
jge 0x82bd56
mov eax, ebx
jmp 0x82bd5d
mov eax, ebx
mov ebx, 0x108
mov ecx, dword [esp + 8]
cmp ecx, esi
je 0x82bd94
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x70], eax
mov dword [esp], esi
mov dword [esp + 4], ecx
shl ebx, 1
mov dword [esp + 8], ebx
call fcn.00785f40
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1b4]
lea ebx, [eax - 1]
cmp ebx, 0x108
jae 0x82c053
mov word [esi + eax*2 - 2], 0
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x248]
mov ebx, dword [esp + 0x234]
mov eax, dword [ebx + 0x1cc]
test eax, eax
jne 0x82bddf
mov edx, dword [ebx + 0x1d4]
test edx, edx
je 0x82bfdb
mov edx, dword [esi + 0xc]
test edx, 2
jbe 0x82bfdb
mov edx, dword [esi + 0x14]
test edx, edx
jne 0x82be3a
test eax, eax
jne 0x82bdff
xor eax, eax
xor edx, edx
jmp 0x82be3e
mov ecx, dword [ebx + 0x1d0]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x234]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x248]
mov edx, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x82be3e
xor eax, eax
xor edx, edx
mov ecx, dword [ebx + 0x1d4]
mov ebp, dword [ebx + 0x1d8]
test ecx, ecx
je 0x82bf2a
test eax, eax
jne 0x82bf2a
mov dword [esp + 0x1a4], ebp
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x1dc], eax
mov ecx, dword [esp + 0x3c]
mov dword [ebx + 0x1e0], ecx
mov dword [ebx + 0x1e4], 0
mov dword [ebx + 0x1e8], 0
mov dword [ebx + 0x1ec], 0
mov dword [ebx + 0x1f0], 0
mov ecx, dword [ebx + 0x14]
mov dword [esp], ecx
call fcn.007e59f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x234]
mov dword [ecx + 0x1f8], eax
mov dword [ecx + 0x20c], 0
mov eax, dword [0xae4cf0]
test eax, eax
je 0x82bede
mov eax, dword [ecx + 0x210]
call fcn.00785680
mov dword [edi], eax
mov dword [ecx + 0x210], 0
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x1a4]
mov dword [esp], edx
lea edx, [ecx + 0x1dc]
mov dword [esp + 4], edx
call eax
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x20c]
mov edx, dword [eax + 0x210]
mov ebx, eax
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x248]
mov eax, ecx
test eax, eax
je 0x82bfd7
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x50], eax
mov ecx, dword [ebx + 0x218]
test ecx, ecx
jne 0x82bf5e
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00829c10
mov ebx, dword [esp + 0x234]
mov eax, dword [ebx + 0x14]
nop
mov dword [esp], eax
call fcn.007e59f0
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x218]
movzx edx, byte [eax + 0x21c]
mov ebx, dword [eax + 0x220]
mov ebp, dword [eax + 0x224]
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x50]
mov dword [esp], edi
mov edi, dword [esp + 0x1ac]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov byte [esp + 0xc], dl
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
call fcn.008225e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + 0x28], eax
mov ebx, dword [esp + 0x234]
mov esi, ecx
mov edi, dword [esp + 0x248]
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esi + 0x14]
test ecx, ecx
jne 0x82c03e
mov ecx, dword [esi + 0x1c]
test ecx, 0xf000
jbe 0x82c03e
mov ecx, dword [ebx + 0x1c4]
test ecx, ecx
je 0x82c03e
mov eax, dword [ebx + 0x1c8]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebp
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x82c022
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + 0x18], 0x2000
jmp 0x82c030
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + 0x18], 0x1000
mov ebx, dword [esp + 0x234]
mov edi, dword [esp + 0x248]
mov ecx, ebx
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
jmp 0x82b25f
mov eax, ebx
mov ecx, 0x108
call fcn.00785700
mov ecx, ebx
call fcn.00785740
lea eax, [0x85ee00]
mov dword [esp], eax
lea eax, [0x8cd7e4]
mov dword [esp + 4], eax
call fcn.00758600
mov eax, ebx
call fcn.00785700
call fcn.00785700
mov eax, ebx
mov ecx, edx
call fcn.00785700
nop
call fcn.00784280
jmp fcn.0082a170