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

Disassembly:
mov eax, 0x123389f
call fcn.0113d4e8
sub esp, 0x390
mov eax, dword [0x128a730]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov dword [ebp - 0x378], eax
mov eax, dword [ebp + 0x10]
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
push dword [esi + 0x68]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x360], esi
mov dword [ebp - 0x350], edi
mov dword [ebp - 0x374], eax
mov byte [ebp - 0x331], 1
call fcn.01051c66
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x364], ebx
je 0x1052d41
mov dword [ebp - 0x330], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x330]
push edx
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x1052943
push dword [ebp - 0x330]
lea ecx, [esi + 0x70]
call fcn.0102e97e
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x354], ebx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x354]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jl 0x105299a
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x105299a
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x105299a
push dword [ebp - 0x340]
lea ecx, [esi + 0x84]
call fcn.0102e97e
push ebx
xor eax, eax
mov dword [ebp - 0x328], ebx
mov ecx, 0xac
lea edi, [ebp - 0x324]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x84]
push 0x2b4
lea ecx, [ebp - 0x328]
push ecx
push ebx
push eax
call dword [0x1001438]
test eax, eax
jne 0x10529d4
mov byte [ebp - 0x331], bl
mov eax, dword [esi + 0x84]
cmp dword [eax - 8], ebx
je 0x1052d0a
cmp byte [ebp - 0x331], bl
je 0x1052d0a
push eax
call fcn.01051abc
push 2
mov edi, eax
lea eax, [ebp - 0x33c]
push eax
push 0x20000011
push 0x400
mov esi, edx
mov dword [ebp - 0x33c], ebx
call dword [fcn.01001198]
mov eax, dword [0x12890a0]
inc dword [ebp - 0x33c]
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 4
push dword [ebp - 0x33c]
lea eax, [ebp - 0x34c]
push 0x1004fa8
push eax
call fcn.0102ea45
mov eax, dword [0x12890a0]
add esp, 0xc
mov dword [ebp - 0x368], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x34c]
push eax
push 0x10050e0
lea eax, [ebp - 0x35c]
push eax
call fcn.010523c7
mov byte [ebp - 4], 6
push 0x10050d8
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01041d92
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x368]
call fcn.01040cea
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x344]
call fcn.0102e901
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x35c]
call fcn.0102e901
cmp dword [ebp - 0x33c], ebx
je 0x1052ae4
mov ecx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x32c]
lea eax, [eax + eax*4]
shl eax, 1
dec dword [ebp - 0x33c]
dec ecx
jne 0x1052ad0
mov dword [ebp - 0x32c], eax
cmp esi, ebx
ja 0x1052e9c
cmp edi, 0x400
jb 0x1052f32
cmp esi, ebx
ja 0x1052e9c
jb 0x1052b0e
cmp edi, 0x100000
jae 0x1052e43
mov eax, edi
shrd eax, esi, 0xa
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0x3ff
shr esi, 0xa
push edi
mov dword [ebp - 0x358], 0x4c5
mov dword [ebp - 0x344], esi
call fcn.0113d770
mov esi, edx
mov edi, eax
shrd edi, esi, 0xa
shr esi, 0xa
mov eax, dword [0x12890a0]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 9
push dword [ebp - 0x344]
lea eax, [ebp - 0x32c]
push dword [ebp - 0x348]
push 0x1004fa8
push eax
call fcn.0102ea45
mov eax, dword [0x12890a0]
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 0xa
push esi
push edi
push dword [ebp - 0x368]
lea eax, [ebp - 0x35c]
push eax
call fcn.0102ea45
add esp, 0x20
push 0x1004e64
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.01041d92
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x35c]
push ecx
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01041d27
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x32c]
call fcn.01040cea
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x344]
call fcn.0102e901
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.0102e901
mov esi, dword [0x100119c]
push ebx
push ebx
push ebx
push dword [ebp - 0x32c]
mov edi, 0x400
push ebx
push edi
call esi
cmp eax, ebx
je 0x1052cc8
mov ecx, dword [0x12890a0]
mov dword [ebp - 0x338], ecx
mov byte [ebp - 4], 0xd
inc eax
push eax
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x344], eax
call fcn.0102e9a5
cmp eax, ebx
je 0x1052cb9
push dword [ebp - 0x344]
push eax
push ebx
push dword [ebp - 0x32c]
push ebx
push edi
call esi
mov eax, dword [0x12890a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0xe
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.0102ea9c
push dword [ebp - 0x338]
mov eax, dword [ebp - 0x360]
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.0102ea45
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x338]
call fcn.0102ea12
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x344]
call fcn.0102e901
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.0102e901
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x35c]
call fcn.0102e901
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x32c]
call fcn.0102e901
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x368]
call fcn.0102e901
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34c]
call fcn.0102e901
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1052d1e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
push dword [ebp - 0x340]
mov edi, dword [fcn.01001398]
call edi
mov byte [ebp - 4], bl
push dword [ebp - 0x330]
call edi
mov edi, dword [ebp - 0x350]
fld qword [0x10050d0]
mov al, byte [ebp - 0x331]
push dword [esi + 0x68]
fst qword [ebp - 0x38c]
fst qword [ebp - 0x394]
lea ecx, [ebp - 0x37c]
fstp qword [ebp - 0x39c]
mov dword [ebp - 0x380], ebx
mov dword [ebp - 0x384], ebx
mov dword [ebp - 0x33c], ebx
mov byte [esi + 0xc0], al
call fcn.01051c14
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x105301f
mov ecx, dword [eax]
lea edx, [ebp - 0x39c]
push edx
lea edx, [ebp - 0x394]
push edx
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
lea edx, [ebp - 0x38c]
push edx
push eax
call dword [ecx + 0x60]
mov byte [esi + 0xc1], 1
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x78]
test eax, eax
jl 0x1052e16
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x1052e16
cmp dword [ebp - 0x330], 1
je 0x1052e16
mov byte [esi + 0xc1], bl
push dword [esi + 0x68]
lea ecx, [ebp - 0x34c]
call fcn.01051c8f
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x34c], ebx
je 0x1052f7c
mov dword [ebp - 0x33c], 0x4cf
jmp 0x1052ffc
cmp esi, ebx
ja 0x1052e9c
jb 0x1052e51
cmp edi, 0x40000000
jae 0x1052e9c
mov eax, edi
shrd eax, esi, 0x14
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0xfffff
shr esi, 0x14
push edi
mov dword [ebp - 0x358], 0x4c6
mov dword [ebp - 0x344], esi
call fcn.0113d770
mov esi, edx
mov edi, eax
shrd edi, esi, 0x14
shr esi, 0x14
jmp 0x1052b54
cmp esi, 0x100
ja 0x1052ef5
jb 0x1052eaa
cmp edi, ebx
jae 0x1052ef5
mov eax, edi
shrd eax, esi, 0x1e
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0x3fffffff
shr esi, 0x1e
push edi
mov dword [ebp - 0x358], 0x4c7
mov dword [ebp - 0x344], esi
call fcn.0113d770
mov esi, edx
mov edi, eax
shrd edi, esi, 0x1e
shr esi, 0x1e
jmp 0x1052b54
mov eax, esi
shr eax, 8
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
and esi, 0xff
push esi
push edi
mov dword [ebp - 0x358], 0x4c8
mov dword [ebp - 0x344], ebx
call fcn.0113d770
mov edi, edx
shr edi, 8
xor esi, esi
jmp 0x1052b54
mov eax, dword [0x12890a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 8
push 0x4c4
lea ecx, [ebp - 0x344]
call fcn.0102ea9c
mov eax, dword [ebp - 0x360]
push esi
push edi
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.0102ea45
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x344]
jmp 0x1052ce1
push dword [esi + 0x68]
lea ecx, [ebp - 0x330]
call fcn.01051cb8
mov byte [ebp - 4], 0x12
push dword [esi + 0x68]
lea ecx, [ebp - 0x354]
call fcn.01051ce1
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x354], ebx
je 0x1052fc2
xor eax, eax
cmp dword [ebp - 0x330], ebx
sete al
lea eax, [eax + eax + 0x4cb]
mov dword [ebp - 0x33c], eax
jmp 0x1052fd4
cmp dword [ebp - 0x330], ebx
je 0x1052fd4
mov dword [ebp - 0x33c], 0x4ce
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1052fe8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1052ffc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1053010
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x340]
jmp 0x1053170
push dword [esi + 0x68]
lea ecx, [ebp - 0x32c]
call fcn.010395f1
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x1053166
mov ecx, dword [eax]
lea edx, [ebp - 0x394]
push edx
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x39c]
push edx
push eax
call dword [ecx + 0x5c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x394]
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x34c]
fstp qword [ebp - 0x38c]
call fcn.01039643
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x34c], ebx
je 0x105309d
mov dword [ebp - 0x33c], 0x4cb
jmp 0x1053152
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x354]
call fcn.0103966c
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x354], ebx
je 0x10530c6
mov dword [ebp - 0x33c], 0x4cd
jmp 0x105313e
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x340]
call fcn.010395c8
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x340], ebx
je 0x10530ef
mov dword [ebp - 0x33c], 0x4ce
jmp 0x105312a
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x330]
call fcn.0103959f
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x330], ebx
je 0x1053116
mov dword [ebp - 0x33c], 0x4cf
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x105312a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x105313e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1053152
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1053166
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x105317a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x364], ebx
je 0x1053734
cmp byte [ebp - 0x331], bl
je 0x1053734
mov dword [ebp - 0x358], ebx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x358]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jne 0x105371a
cmp dword [ebp - 0x358], ebx
je 0x105371a
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.01051d0a
mov byte [ebp - 4], 0x1a
push dword [ebp - 0x364]
lea ecx, [ebp - 0x34c]
call fcn.010395f1
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x10532d0
cmp dword [ebp - 0x37c], ebx
jne 0x105321e
cmp dword [ebp - 0x34c], ebx
jne 0x105321e
mov ecx, dword [eax]
lea edx, [ebp - 0x38c]
push edx
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x10532d0
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
test eax, eax
mov edi, 0x10050b8
jl 0x1053265
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1053265
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x9c]
push edi
push eax
call fcn.0102ea45
add esp, 0xc
mov eax, dword [ebp - 0x344]
lea edx, [ebp - 0x340]
push edx
mov dword [ebp - 0x340], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
test eax, eax
jl 0x10532a5
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x10532a5
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0xac]
push edi
push eax
call fcn.0102ea45
add esp, 0xc
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x340]
add eax, ecx
cmp eax, ebx
je 0x10532d0
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x88]
push edi
push eax
call fcn.0102ea45
add esp, 0xc
push dword [ebp - 0x358]
lea ecx, [ebp - 0x35c]
call fcn.01051d33
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.01051d5c
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x105344a
mov ecx, dword [eax]
lea edx, [ebp - 0x380]
push edx
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x35c]
mov ecx, dword [eax]
lea edx, [ebp - 0x384]
push edx
push eax
call dword [ecx + 0x24]
fldz
mov eax, dword [ebp - 0x35c]
fstp qword [ebp - 0x36c]
mov ecx, dword [eax]
lea edx, [ebp - 0x36c]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x105344a
fld qword [0x1003bc0]
fld qword [ebp - 0x36c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x105344a
fld qword [ebp - 0x36c]
call fcn.0113d5ec
mov dword [ebp - 0x330], eax
fild dword [ebp - 0x330]
fsubr qword [ebp - 0x36c]
fmul qword [0x1003198]
call fcn.0113d5ec
cmp eax, ebx
mov dword [ebp - 0x340], eax
je 0x1053430
push 0x10050ac
lea ecx, [ebp - 0x338]
call fcn.0103586d
mov byte [ebp - 4], 0x1e
xor eax, eax
mov word [ebp - 0x1c], bx
lea edi, [ebp - 0x1a]
stosd dword es:[edi], eax
push 5
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [fcn.01001198]
cmp eax, ebx
jg 0x10533df
push 0x1004e64
lea eax, [ebp - 0x1c]
push eax
call dword [fcn.010012b0]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x338]
call fcn.0104e516
push 0x1005098
lea ecx, [ebp - 0x338]
call fcn.0104e516
push dword [ebp - 0x340]
lea eax, [esi + 0xa0]
push dword [ebp - 0x330]
push dword [ebp - 0x338]
push eax
call fcn.0102ea45
add esp, 0x10
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x338]
call fcn.0102e901
jmp 0x105344a
push dword [ebp - 0x330]
lea eax, [esi + 0xa0]
push 0x1005084
push eax
call fcn.0102ea45
add esp, 0xc
cmp dword [ebp - 0x354], ebx
je 0x10536ca
mov dword [ebp - 0x32c], ebx
mov byte [ebp - 4], 0x1f
mov ecx, dword [0x128d4d0]
lea eax, [ebp - 0x32c]
push eax
push 0x1005024
push 0x17
push ebx
push 0x1005074
call fcn.0114884f
push dword [esi + 0x84]
lea ecx, [ebp - 0x330]
call fcn.0102eb6e
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x30]
mov byte [ebp - 4], 0x1f
push dword [ebp - 0x330]
call dword [fcn.01001398]
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x368]
push edx
mov dword [ebp - 0x368], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x338], ebx
jmp 0x105354d
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x368]
jge 0x10536b6
mov eax, dword [ebp - 0x32c]
push dword [ebp - 0x338]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x74]
push edx
push eax
call dword [ecx + 0x20]
lea ecx, [ebp - 0x64]
call fcn.0122d6df
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x64]
push edx
push eax
call dword [ecx + 0x3c]
push 4
pop ecx
mov edi, 0x1002af8
lea esi, [ebp - 0x74]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x105355e
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0122d6d1
inc dword [ebp - 0x338]
mov esi, dword [ebp - 0x360]
cmp dword [ebp - 0x368], ebx
jg 0x10534d4
jmp 0x10536b6
push 4
pop ecx
mov edi, 0x1007428
lea esi, [ebp - 0x38]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x10536a4
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov esi, eax
mov dword [ebp - 0x340], esi
je 0x10536a4
movzx eax, word [eax + 2]
push eax
mov eax, dword [ebp - 0x360]
add eax, 0xb0
push 0x10050ac
push eax
call fcn.0102ea45
mov ecx, dword [esi + 4]
mov eax, ecx
cdq
mov edi, 0x3e8
mov esi, edi
idiv esi
add esp, 0xc
mov esi, eax
imul eax, eax, 0x3e8
sub ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 1
cdq
idiv edi
cmp eax, ebx
mov dword [ebp - 0x330], eax
je 0x105366a
push 0x1005064
lea ecx, [ebp - 0x338]
call fcn.0103586d
mov byte [ebp - 4], 0x22
xor eax, eax
mov word [ebp - 0x1c], bx
lea edi, [ebp - 0x1a]
stosd dword es:[edi], eax
push 5
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [fcn.01001198]
cmp eax, ebx
jg 0x1053618
push 0x1004e64
lea eax, [ebp - 0x1c]
push eax
call dword [fcn.010012b0]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x338]
call fcn.0104e516
push 0x100504c
lea ecx, [ebp - 0x338]
call fcn.0104e516
push dword [ebp - 0x330]
push esi
mov esi, dword [ebp - 0x360]
push dword [ebp - 0x338]
lea eax, [esi + 0xb4]
push eax
call fcn.0102ea45
add esp, 0x10
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x338]
call fcn.0102e901
jmp 0x1053685
push esi
mov esi, dword [ebp - 0x360]
lea eax, [esi + 0xb4]
push 0x1005034
push eax
call fcn.0102ea45
add esp, 0xc
mov eax, dword [ebp - 0x340]
movzx eax, word [eax + 0xe]
push eax
push 0x10050ac
add esi, 0xb8
push esi
call fcn.0102ea45
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0122d6d1
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x10536ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x10536de
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x10536f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1053706
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x105371a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x358]
cmp eax, ebx
je 0x105372e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x350]
cmp dword [ebp - 0x33c], ebx
je 0x105374d
push dword [ebp - 0x33c]
lea ecx, [esi + 0x80]
call fcn.0102ea9c
fld qword [0x10050d0]
fld qword [ebp - 0x38c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1053795
fld qword [ebp - 0x38c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010a618d
mov byte [ebp - 4], 0x23
push eax
lea ecx, [esi + 0x74]
call fcn.01040cea
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.0102e901
fld qword [0x10050d0]
fld qword [ebp - 0x394]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10537dd
fld qword [ebp - 0x394]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010a618d
mov byte [ebp - 4], 0x24
push eax
lea ecx, [esi + 0x78]
call fcn.01040cea
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.0102e901
fld qword [0x10050d0]
fld qword [ebp - 0x39c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1053825
fld qword [ebp - 0x39c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010a618d
mov byte [ebp - 4], 0x25
push eax
lea ecx, [esi + 0x7c]
call fcn.01040cea
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.0102e901
cmp dword [ebp - 0x380], ebx
je 0x1053847
push dword [ebp - 0x380]
lea eax, [esi + 0x94]
push 0x1004fa8
push eax
call fcn.0102ea45
add esp, 0xc
cmp dword [ebp - 0x384], ebx
je 0x1053869
push dword [ebp - 0x384]
lea eax, [esi + 0x98]
push 0x1004fa8
push eax
call fcn.0102ea45
add esp, 0xc
cmp dword [ebp - 0x33c], 0x4cf
jne 0x10538da
cmp byte [ebp - 0x331], bl
je 0x10538da
lea ecx, [ebp - 0x48]
call fcn.01193068
mov byte [ebp - 4], 0x26
push dword [esi + 0x84]
lea ecx, [ebp - 0x48]
call fcn.0119352d
test eax, eax
jl 0x10538ce
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x350], ebx
call fcn.011931bd
test eax, eax
jl 0x10538ce
push dword [ebp - 0x350]
add esi, 0xbc
push 0x10050ac
push esi
call fcn.0102ea45
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x48]
call fcn.0119348b
mov eax, dword [ebp - 0x33c]
sub eax, 0x4cb
je 0x1053957
dec eax
dec eax
je 0x1053949
dec eax
je 0x105393c
dec eax
je 0x105390d
mov eax, dword [ebp - 0x378]
mov byte [edi], bl
mov byte [eax], bl
mov eax, dword [ebp - 0x370]
mov byte [eax], bl
mov eax, dword [ebp - 0x374]
mov byte [eax], bl
jmp 0x1053974
fld qword [ebp - 0x38c]
fcomp qword [0x1003bc0]
fnstsw ax
test ah, 0x41
jne 0x1053925
xor eax, eax
inc eax
jmp 0x1053927
xor eax, eax
mov byte [edi], al
mov eax, dword [ebp - 0x378]
mov byte [eax], bl
mov eax, dword [ebp - 0x370]
mov byte [eax], 1
jmp 0x1053903
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], bl
jmp 0x1053963
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
jmp 0x10538fb
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
mov eax, dword [ebp - 0x370]
mov byte [eax], bl
mov eax, dword [ebp - 0x374]
mov byte [eax], 1
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x1053987
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x364]
pop edi
pop esi
cmp eax, ebx
pop ebx
je 0x105399e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0113d1ef
leave
ret 0x10