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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffee4
mov dword [esp], eax
mov eax, dword [0xd6c04]
mov eax, dword [eax]
call fcn.0009fe2c
mov dword [esp], eax
mov eax, dword [0xd6ac4]
mov edx, dword [esp]
mov dword [eax], edx
mov dword [esp + 0x90], 0x3c
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 4]
push eax
call fcn.0008690c
mov eax, dword [esp + 0x9c]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
sub dword [esp + 0x10], 0xe
sub dword [esp + 0x14], 0xe
mov eax, dword [esp + 0x10]
mov dword [0xd0970], eax
mov eax, dword [esp + 0x14]
mov dword [0xd0974], eax
mov dx, 0x201
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov edx, dword [esp + 0x14]
sar edx, 1
jns 0xa0071
adc edx, 0
mov eax, dword [esp + 0x10]
sar eax, 1
jns 0xa007c
adc eax, 0
call fcn.000869b8
push eax
push 1
push 0x201
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
push 0x64
call fcn.00086844
mov dx, 0x202
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov edx, dword [esp + 0x14]
sar edx, 1
jns 0xa00c4
adc edx, 0
mov eax, dword [esp + 0x10]
sar eax, 1
jns 0xa00cf
adc eax, 0
call fcn.000869b8
push eax
push 0
push 0x202
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
push 0x190
call fcn.00086844
mov dx, 0x201
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov edx, dword [esp + 0x14]
sar edx, 1
jns 0xa011a
adc edx, 0
mov eax, dword [esp + 0x10]
sar eax, 1
jns 0xa0125
adc eax, 0
call fcn.000869b8
push eax
push 1
push 0x201
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
push 0x64
call fcn.00086844
mov dx, 0x202
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov edx, dword [esp + 0x14]
sar edx, 1
jns 0xa016d
adc edx, 0
mov eax, dword [esp + 0x10]
sar eax, 1
jns 0xa0178
adc eax, 0
call fcn.000869b8
push eax
push 0
push 0x202
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
push 0x190
call fcn.00086844
mov dx, 0x201
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov edx, dword [esp + 0x14]
sar edx, 1
jns 0xa01c3
adc edx, 0
mov eax, dword [esp + 0x10]
sar eax, 1
jns 0xa01ce
adc eax, 0
call fcn.000869b8
push eax
push 1
push 0x201
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
push 0x64
call fcn.00086844
mov dx, 0x202
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov edx, dword [esp + 0x14]
sar edx, 1
jns 0xa0216
adc edx, 0
mov eax, dword [esp + 0x10]
sar eax, 1
jns 0xa0221
adc eax, 0
call fcn.000869b8
push eax
push 0
push 0x202
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
mov eax, dword [esp + 0x10]
call fcn.000828a4
mov ebp, eax
mov eax, dword [esp + 0x14]
call fcn.000828a4
mov dword [esp + 0x18], eax
mov ebx, ebp
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [0xd6ac4]
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [esp + 0x10]
call fcn.000828a4
add eax, 7
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
call fcn.000828a4
add eax, 7
mov dword [esp + 0xc], eax
mov ebp, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp ebp, 1
jge 0xa0298
mov ebp, 1
cmp dword [esp + 0x18], 1
jge 0xa02a7
mov dword [esp + 0x18], 1
mov eax, 0x5dc
call fcn.000828a4
add eax, 0x3e8
mov dword [esp + 0x38], eax
cmp ebp, dword [esp + 8]
jge 0xa02ca
mov eax, dword [esp + 8]
sub eax, ebp
mov dword [esp + 0x20], eax
cmp ebp, dword [esp + 8]
jle 0xa02da
mov eax, ebp
sub eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jge 0xa02f0
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jle 0xa0306
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x20], 0
jne 0xa0315
mov dword [esp + 0x20], 1
cmp dword [esp + 0x24], 0
jne 0xa0324
mov dword [esp + 0x24], 1
fild dword [esp + 0x20]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40000000
push 0
call fcn.0009fe64
fstp qword [esp + 0xf8]
wait
fild dword [esp + 0x24]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40000000
push 0
call fcn.0009fe64
fadd qword [esp + 0xf8]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x3fe00000
push 0
call fcn.0009fe64
call fcn.00082810
mov edi, eax
test edi, edi
jne 0xa0384
mov edi, 1
mov eax, 0x64
call fcn.000828a4
mov esi, eax
inc esi
sub esi, 0x32
test esi, esi
jne 0xa039d
mov esi, 1
mov eax, 0x64
call fcn.000828a4
inc eax
sub eax, 0x32
test eax, eax
jne 0xa03b4
mov eax, 1
mov dword [esp + 0x100], esi
fild dword [esp + 0x100]
fld xword [0xa11dc]
fmulp st(1)
fstp qword [esp + 0x58]
wait
mov dword [esp + 0x100], eax
fild dword [esp + 0x100]
fld xword [0xa11e8]
fmulp st(1)
fstp qword [esp + 0x60]
wait
mov eax, dword [esp + 0x38]
mov ecx, 0x32
cdq
idiv ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fild dword [esp + 0x38]
fdivp st(1)
fstp qword [esp + 0x68]
wait
mov eax, dword [esp + 0x38]
test eax, eax
jle 0xa0652
mov dword [esp + 0x88], eax
mov dword [esp + 0x3c], 1
fild dword [esp + 0x3c]
fmul qword [esp + 0x68]
call fcn.0008281c
mov ebx, eax
test ebx, ebx
jne 0xa0446
mov ebx, 1
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa11f4]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40000000
push 0
call fcn.0009fe64
fmul dword [0xa1200]
fstp xword [esp + 0x108]
wait
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa11f4]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40080000
push 0
call fcn.0009fe64
fld xword [esp + 0x108]
fsubp st(1)
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa11f4]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
fsubp st(1)
fmul qword [esp + 0x58]
fadd dword [0xa1204]
fstp qword [esp + 0x48]
wait
fld qword [esp + 0x48]
fcomp dword [0xa1208]
fnstsw ax
sahf
jne 0xa0523
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x3ff00000
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa120c]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
call fcn.00082800
fmul qword [esp + 0x60]
fadd dword [0xa1204]
fstp qword [esp + 0x50]
wait
fld qword [esp + 0x50]
fcomp dword [0xa1208]
fnstsw ax
sahf
jne 0xa057a
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x3ff00000
mov esi, dword [esp + 8]
sub esi, ebp
test esi, esi
jne 0xa0589
mov esi, 1
mov dword [esp + 0x100], esi
fild dword [esp + 0x100]
mov dword [esp + 0x104], edi
fild dword [esp + 0x104]
fdivp st(1)
mov dword [esp + 0x114], ebx
fild dword [esp + 0x114]
fmulp st(1)
fmul qword [esp + 0x48]
mov dword [esp + 0x118], ebp
fild dword [esp + 0x118]
faddp st(1)
call fcn.00082810
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0xc]
sub esi, dword [esp + 0x18]
test esi, esi
jne 0xa05e5
mov esi, 1
mov dword [esp + 0x100], esi
fild dword [esp + 0x100]
mov dword [esp + 0x104], edi
fild dword [esp + 0x104]
fdivp st(1)
mov dword [esp + 0x114], ebx
fild dword [esp + 0x114]
fmulp st(1)
fmul qword [esp + 0x50]
fild dword [esp + 0x18]
faddp st(1)
call fcn.00082810
mov esi, eax
mov ecx, esi
mov edx, dword [esp + 0x40]
mov eax, dword [esp]
call fcn.0009fe88
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x1c], esi
push 0x32
call fcn.00086844
inc dword [esp + 0x3c]
dec dword [esp + 0x88]
jne 0xa042e
cmp byte [0xd08e8], 0
je 0xa0aef
call fcn.00086764
sub eax, dword [0xd08fc]
cmp eax, 0x3e8
jbe 0xa0aef
call fcn.00086764
sub eax, dword [0xd0900]
cmp eax, 0x2710
jbe 0xa0aef
mov eax, 3
call fcn.000828a4
inc eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
test eax, eax
jl 0xa0ade
inc eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], 0
mov eax, dword [0xd08f4]
call fcn.000828a4
add eax, dword [0xd08ec]
mov dword [esp + 8], eax
mov eax, dword [0xd08f8]
call fcn.000828a4
add eax, dword [0xd08f0]
mov dword [esp + 0xc], eax
mov ebp, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp ebp, 1
jge 0xa06fb
mov ebp, 1
cmp dword [esp + 0x18], 1
jge 0xa070a
mov dword [esp + 0x18], 1
mov eax, 0x3e8
call fcn.000828a4
add eax, 0x3e8
mov dword [esp + 0x38], eax
cmp ebp, dword [esp + 8]
jge 0xa072d
mov eax, dword [esp + 8]
sub eax, ebp
mov dword [esp + 0x20], eax
cmp ebp, dword [esp + 8]
jle 0xa073d
mov eax, ebp
sub eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jge 0xa0753
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jle 0xa0769
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x20], 0
jne 0xa0778
mov dword [esp + 0x20], 1
cmp dword [esp + 0x24], 0
jne 0xa0787
mov dword [esp + 0x24], 1
fild dword [esp + 0x20]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40000000
push 0
call fcn.0009fe64
fstp qword [esp + 0xf8]
wait
fild dword [esp + 0x24]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40000000
push 0
call fcn.0009fe64
fadd qword [esp + 0xf8]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x3fe00000
push 0
call fcn.0009fe64
call fcn.00082810
mov edi, eax
test edi, edi
jne 0xa07e7
mov edi, 1
mov eax, 0x64
call fcn.000828a4
mov esi, eax
inc esi
sub esi, 0x32
test esi, esi
jne 0xa0800
mov esi, 1
mov eax, 0x64
call fcn.000828a4
inc eax
sub eax, 0x32
test eax, eax
jne 0xa0817
mov eax, 1
mov dword [esp + 0x100], esi
fild dword [esp + 0x100]
fld xword [0xa11dc]
fmulp st(1)
fstp qword [esp + 0x58]
wait
mov dword [esp + 0x100], eax
fild dword [esp + 0x100]
fld xword [0xa11e8]
fmulp st(1)
fstp qword [esp + 0x60]
wait
mov eax, dword [esp + 0x38]
mov ecx, 0x32
cdq
idiv ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fild dword [esp + 0x38]
fdivp st(1)
fstp qword [esp + 0x68]
wait
mov eax, dword [esp + 0x38]
test eax, eax
jle 0xa0ab5
mov dword [esp + 0x8c], eax
mov dword [esp + 0x3c], 1
fild dword [esp + 0x3c]
fmul qword [esp + 0x68]
call fcn.0008281c
mov ebx, eax
test ebx, ebx
jne 0xa08a9
mov ebx, 1
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa11f4]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40000000
push 0
call fcn.0009fe64
fmul dword [0xa1200]
fstp xword [esp + 0x108]
wait
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa11f4]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x40080000
push 0
call fcn.0009fe64
fld xword [esp + 0x108]
fsubp st(1)
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa11f4]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
fsubp st(1)
fmul qword [esp + 0x58]
fadd dword [0xa1204]
fstp qword [esp + 0x48]
wait
fld qword [esp + 0x48]
fcomp dword [0xa1208]
fnstsw ax
sahf
jne 0xa0986
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x3ff00000
mov dword [esp + 0x100], edi
fild dword [esp + 0x100]
fld xword [0xa120c]
fdivrp st(1)
mov dword [esp + 0x104], ebx
fild dword [esp + 0x104]
fmulp st(1)
call fcn.00082800
fmul qword [esp + 0x60]
fadd dword [0xa1204]
fstp qword [esp + 0x50]
wait
fld qword [esp + 0x50]
fcomp dword [0xa1208]
fnstsw ax
sahf
jne 0xa09dd
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x3ff00000
mov esi, dword [esp + 8]
sub esi, ebp
test esi, esi
jne 0xa09ec
mov esi, 1
mov dword [esp + 0x100], esi
fild dword [esp + 0x100]
mov dword [esp + 0x104], edi
fild dword [esp + 0x104]
fdivp st(1)
mov dword [esp + 0x114], ebx
fild dword [esp + 0x114]
fmulp st(1)
fmul qword [esp + 0x48]
mov dword [esp + 0x118], ebp
fild dword [esp + 0x118]
faddp st(1)
call fcn.00082810
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0xc]
sub esi, dword [esp + 0x18]
test esi, esi
jne 0xa0a48
mov esi, 1
mov dword [esp + 0x100], esi
fild dword [esp + 0x100]
mov dword [esp + 0x104], edi
fild dword [esp + 0x104]
fdivp st(1)
mov dword [esp + 0x114], ebx
fild dword [esp + 0x114]
fmulp st(1)
fmul qword [esp + 0x50]
fild dword [esp + 0x18]
faddp st(1)
call fcn.00082810
mov esi, eax
mov ecx, esi
mov edx, dword [esp + 0x40]
mov eax, dword [esp]
call fcn.0009fe88
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x1c], esi
push 0x32
call fcn.00086844
inc dword [esp + 0x3c]
dec dword [esp + 0x8c]
jne 0xa0891
mov eax, 0x258
call fcn.000828a4
add eax, 0xc8
push eax
call fcn.00086844
inc dword [esp + 0x80]
dec dword [esp + 0x88]
jne 0xa06bf
mov byte [0xd08e8], 0
call fcn.00086764
mov dword [0xd0900], eax
cmp byte [0xd08c0], 1
jne 0xa0ede
mov eax, dword [0xd08c4]
mov dword [esp + 8], eax
mov eax, dword [0xd08c8]
mov dword [esp + 0xc], eax
mov ebp, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp ebp, 1
jge 0xa0b22
mov ebp, 1
cmp dword [esp + 0x18], 1
jge 0xa0b31
mov dword [esp + 0x18], 1
mov eax, 0xc8
call fcn.000828a4
add eax, 0x1f4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, 0x32
cdq
idiv ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
test eax, eax
jle 0xa0c5d
mov dword [esp + 0x88], eax
cmp ebp, dword [esp + 8]
jge 0xa0b97
mov eax, dword [esp + 8]
sub eax, ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jne 0xa0b93
mov dword [esp + 0x20], 1
add ebx, dword [esp + 0x20]
cmp ebp, dword [esp + 8]
jle 0xa0bc7
mov eax, ebp
sub eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jne 0xa0bc3
mov dword [esp + 0x20], 1
sub ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jge 0xa0c01
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
jne 0xa0bf9
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jle 0xa0c3b
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
jne 0xa0c33
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
sub dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
push 0x32
call fcn.00086844
dec dword [esp + 0x88]
jne 0xa0b67
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
push 0x64
call fcn.00086844
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
mov eax, 3
call fcn.000828a4
inc eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
test eax, eax
jl 0xa0cfa
inc eax
mov dword [esp + 0x88], eax
xor esi, esi
xor edi, edi
mov eax, 0x64
call fcn.000828a4
cmp eax, 0x14
jge 0xa0cd6
mov eax, 4
call fcn.000828a4
mov esi, eax
mov eax, 2
call fcn.000828a4
mov edi, eax
mov ecx, dword [esp + 0x1c]
add ecx, edi
lea edx, [esi + ebx]
mov eax, dword [esp]
call fcn.0009fe88
push 0x12c
call fcn.00086844
dec dword [esp + 0x88]
jne 0xa0cab
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
push 0x64
call fcn.00086844
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
push dword [esp + 0x7c]
push dword [esp + 0x7c]
mov eax, dword [esp + 8]
push eax
call fcn.000868ac
mov esi, eax
cmp esi, dword [esp]
je 0xa0ddf
test esi, esi
je 0xa0ddf
mov eax, dword [0xd7820]
mov dword [esp + 0x2c], eax
mov eax, dword [0xd7824]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.00086954
mov dx, 0x201
mov ax, 1
call fcn.000869b8
push eax
push esi
push 0x20
push esi
call fcn.0008695c
mov dx, word [esp + 0x30]
mov ax, word [esp + 0x2c]
call fcn.000869b8
push eax
push 1
push 0x201
push esi
call fcn.0008693c
push 0x64
call fcn.00086844
mov dx, 0x202
mov ax, 1
call fcn.000869b8
push eax
push esi
push 0x20
push esi
call fcn.0008695c
mov dx, word [esp + 0x30]
mov ax, word [esp + 0x2c]
call fcn.000869b8
push eax
push 0
push 0x202
push esi
call fcn.0008693c
jmp 0xa0e60
mov dx, 0x201
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov dx, word [esp + 0x1c]
mov eax, ebx
call fcn.000869b8
push eax
push 1
push 0x201
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
push 0x64
call fcn.00086844
mov dx, 0x202
mov ax, 1
call fcn.000869b8
push eax
mov eax, dword [esp + 4]
push eax
push 0x20
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
mov dx, word [esp + 0x1c]
mov eax, ebx
call fcn.000869b8
push eax
push 0
push 0x202
mov eax, dword [esp + 0xc]
push eax
call fcn.0008693c
mov byte [0xd08c0], 0
mov byte [0xd08cc], 1
mov eax, 4
call fcn.000828a4
add eax, 5
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
test eax, eax
jl 0xa0ede
inc eax
mov dword [esp + 0x88], eax
xor esi, esi
xor edi, edi
mov eax, 0x64
call fcn.000828a4
cmp eax, 0xf
jge 0xa0eba
mov eax, 5
call fcn.000828a4
mov esi, eax
mov eax, 2
call fcn.000828a4
mov edi, eax
mov ecx, dword [esp + 0x1c]
add ecx, edi
lea edx, [esi + ebx]
mov eax, dword [esp]
call fcn.0009fe88
push 0x12c
call fcn.00086844
dec dword [esp + 0x88]
jne 0xa0e8f
cmp byte [0xd08d8], 1
jne 0xa111a
mov eax, dword [0xd08c4]
mov dword [esp + 8], eax
mov eax, dword [0xd08c8]
mov dword [esp + 0xc], eax
mov ebp, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp ebp, 1
jge 0xa0f11
mov ebp, 1
cmp dword [esp + 0x18], 1
jge 0xa0f20
mov dword [esp + 0x18], 1
mov eax, 0xc8
call fcn.000828a4
add eax, 0x1f4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, 0x32
cdq
idiv ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
test eax, eax
jle 0xa104c
mov dword [esp + 0x88], eax
cmp ebp, dword [esp + 8]
jge 0xa0f86
mov eax, dword [esp + 8]
sub eax, ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jne 0xa0f82
mov dword [esp + 0x20], 1
add ebx, dword [esp + 0x20]
cmp ebp, dword [esp + 8]
jle 0xa0fb6
mov eax, ebp
sub eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jne 0xa0fb2
mov dword [esp + 0x20], 1
sub ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jge 0xa0ff0
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
jne 0xa0fe8
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xc]
jle 0xa102a
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cdq
idiv dword [esp + 0x38]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
jne 0xa1022
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
sub dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
push 0x32
call fcn.00086844
dec dword [esp + 0x88]
jne 0xa0f56
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
push 0x64
call fcn.00086844
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
mov eax, 3
call fcn.000828a4
inc eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
test eax, eax
jl 0xa10e9
inc eax
mov dword [esp + 0x88], eax
xor esi, esi
xor edi, edi
mov eax, 0x64
call fcn.000828a4
cmp eax, 0x14
jge 0xa10c5
mov eax, 4
call fcn.000828a4
mov esi, eax
mov eax, 2
call fcn.000828a4
mov edi, eax
mov ecx, dword [esp + 0x1c]
add ecx, edi
lea edx, [esi + ebx]
mov eax, dword [esp]
call fcn.0009fe88
push 0x12c
call fcn.00086844
dec dword [esp + 0x88]
jne 0xa109a
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
push 0x64
call fcn.00086844
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, dword [esp]
call fcn.0009fe88
mov byte [0xd08d8], 0
mov byte [0xd08dc], 1
mov eax, 3
call fcn.000828a4
test eax, eax
jne 0xa1134
push 0x64
call fcn.00086844
jmp 0xa025a
mov eax, 0x28
call fcn.000828a4
add eax, dword [0xd0978]
mov dword [esp + 4], eax
mov dword [0xd7820], ebx
mov eax, dword [esp + 0x1c]
mov dword [0xd7824], eax
push 0xd7820
mov eax, dword [esp + 4]
push eax
call fcn.000868b4
mov eax, dword [esp + 4]
test eax, eax
jle 0xa025a
mov dword [esp + 0x88], eax
mov dx, word [0xd7824]
mov ax, word [0xd7820]
call fcn.000869b8
push eax
push 0
push 0x84
mov eax, dword [esp + 0xc]
push eax
call fcn.0008695c
push 0x14d
call fcn.00086844
cmp byte [0xd08c0], 1
je 0xa025a
cmp byte [0xd08e8], 1
je 0xa025a
dec dword [esp + 0x88]
jne 0xa1179
jmp 0xa025a