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

Disassembly:
sub esp, 0x10c
push ebx
mov ebx, ecx
test byte [ebx + 0x970], 2
mov dword [esp + 0x1c], ebx
je 0x5a7c94
push esi
mov esi, dword [esp + 0x118]
push edi
push 1
push esi
call fcn.005a6370
mov edi, eax
test edi, edi
je 0x5a7c92
push ebp
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x38]
push eax
push esi
mov ecx, ebx
call fcn.00526e00
mov edx, dword [esp + 0x48]
sub edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x2c]
lea eax, [edx + 1]
lea esi, [ecx + 1]
mov dword [esp + 0xac], eax
imul eax, esi
lea ecx, [ecx*4 + 1]
lea ebp, [edx*4 + 1]
mov dword [esp + 0x78], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x74], eax
mov esi, ebp
imul esi, ecx
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xb4]
add eax, 1
imul eax, dword [esp + 0x34]
add eax, dword [esp + 0x2c]
add esi, ecx
lea edx, [esp + 0x7c]
lea ecx, [eax*8]
push edx
mov edx, dword [ebx + 0xe4]
sub ecx, eax
lea ecx, [edx + ecx*4]
mov dword [esp + 0x50], ebp
call fcn.00527aa0
cmp dword [0x8613bc], 0
mov ebx, 8
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 6
je 0x5a64f3
xor edx, edx
lea ecx, [ebx - 6]
call fcn.004df5b0
mov ecx, eax
call fcn.004cd610
xor edx, edx
lea ecx, [edx + 3]
mov ebx, eax
call fcn.004df5b0
mov ecx, eax
call fcn.004cd610
xor edx, edx
lea ecx, [edx + 4]
mov dword [esp + 0x20], eax
call fcn.004df5b0
mov ecx, eax
call fcn.004cd610
mov dword [esp + 0x1c], eax
mov ecx, ebx
call fcn.004bf4f0
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x30], eax
call fcn.004bf4f0
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x44], eax
call fcn.004bf4f0
mov edx, 1
lea ecx, [edx + 3]
mov dword [edi + 0x58], eax
call fcn.004bf4b0
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x44]
push esi
mov ecx, edi
mov dword [edi + 0x80], eax
call fcn.0046f520
push esi
lea ecx, [edi + 0x10]
call fcn.0046f520
push esi
lea ecx, [edi + 0x20]
call fcn.0046f720
fldz
xor esi, esi
cmp ebp, esi
mov dword [esp + 0x14], esi
jle 0x5a6648
cmp dword [esp + 0x24], 0
mov dword [esp + 0x10], 0
jle 0x5a6633
fild dword [esp + 0x14]
lea ebx, [esi + esi*2]
add ebx, ebx
add ebx, ebx
fstp dword [esp + 0x30]
fst dword [esp + 0x50]
fstp dword [esp + 0x54]
fld1
fstp dword [esp + 0x58]
jmp 0x5a6592
fstp st(0)
fild dword [esp + 0x10]
mov ecx, dword [edi + 8]
fld dword [0x83df1c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x7c]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [ebx + ecx]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x28]
fmul dword [esp + 0x30]
fadd dword [esp + 0x80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [ebx + edx + 4]
mov eax, dword [edi + 8]
mov edx, dword [ecx + 0x958]
lea ebp, [ebx + eax]
push edx
push ebp
call fcn.0057ed60
fadd qword [0x7d3468]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
fstp dword [ebp + 8]
mov eax, dword [edi + 0x18]
fldz
add eax, ebx
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x28]
fst dword [edx + esi*8]
mov eax, dword [edi + 0x28]
fst dword [eax + esi*8 + 4]
mov eax, dword [esp + 0x10]
add eax, 1
add esi, 1
add ebx, 0xc
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jl 0x5a6590
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
jl 0x5a6558
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
lea ecx, [ebx + 1]
cmp eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], eax
jge 0x5a67f9
fld qword [0x7bad28]
lea eax, [ecx + 1]
cmp edx, eax
mov dword [esp + 0x14], edx
jge 0x5a67e1
fxch st(1)
lea ebp, [esi + esi*2]
fst dword [esp + 0x68]
add ebp, ebp
fstp dword [esp + 0x6c]
add ebp, ebp
fld1
fstp dword [esp + 0x70]
jmp 0x5a66a8
fstp st(0)
fld qword [0x7bad28]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xb4]
add eax, 1
imul eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
push 7
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xe4]
lea ebx, [eax + edx*4]
mov eax, dword [ebx]
mov edx, eax
shr eax, 9
and eax, 0x7fc000
or eax, 0x47800000
mov dword [esp + 0x1c], eax
and edx, 0x7fc000
or edx, 0x47800000
fld dword [esp + 0x1c]
mov dword [esp + 0x34], edx
fsub st(1)
push ebx
fstp dword [esp + 0x58]
fsubr dword [esp + 0x38]
fstp dword [esp + 0x5c]
call fcn.005fe110
mov eax, dword [ebx + 0x10]
fstp dword [esp + 0x58]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x3c], eax
fld dword [esp + 0x3c]
fld qword [0x7bdd10]
mov eax, dword [edi + 8]
fmul st(1), st(0)
mov dword [esp + 0x40], ecx
fxch st(1)
mov dword [esp + 0x44], edx
add eax, ebp
fstp dword [esp + 0x3c]
add esi, 1
fld dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x40]
fmul dword [esp + 0x44]
fstp dword [esp + 0x44]
fld dword [esp + 0x50]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x5c]
mov ecx, dword [esp + 0x5c]
fld dword [esp + 0x54]
mov dword [eax], ecx
fadd dword [esp + 0x40]
fstp dword [esp + 0x60]
mov edx, dword [esp + 0x60]
fld dword [esp + 0x44]
mov dword [eax + 4], edx
fadd dword [esp + 0x58]
mov edx, dword [esp + 0x68]
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
fldz
mov dword [eax + 8], ecx
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x6c]
mov dword [eax + ebp], edx
mov edx, dword [esp + 0x70]
add eax, ebp
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [edi + 0x28]
mov edx, dword [esp + 0x14]
fst dword [eax + esi*8 - 8]
mov ecx, dword [edi + 0x28]
fst dword [ecx + esi*8 - 4]
mov ecx, dword [esp + 0x38]
add edx, 1
lea eax, [ecx + 1]
add ebp, 0xc
mov dword [esp + 0x14], edx
cmp edx, eax
jl 0x5a66a0
mov ebx, dword [esp + 0x48]
fld qword [0x7bad28]
mov edx, dword [esp + 0x2c]
add dword [esp + 0x10], 1
lea ebp, [ebx + 1]
cmp dword [esp + 0x10], ebp
jl 0x5a6670
mov eax, dword [esp + 0x34]
fstp st(0)
lea ebp, [ebx + 1]
cmp eax, ebp
mov dword [esp + 0x10], eax
jge 0x5a6dcc
lea ebp, [eax + 1]
lea eax, [ebp*8]
sub eax, ebp
add eax, eax
add eax, eax
mov dword [esp + 0x1c], eax
lea eax, [ecx + 1]
cmp edx, eax
mov dword [esp + 0x14], edx
jge 0x5a6db1
lea eax, [edx*8]
lea ebp, [esi + esi*2]
sub eax, edx
add ebp, ebp
add eax, eax
add ebp, ebp
add eax, eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x28]
fst dword [esp + 0x3c]
mov eax, dword [ecx + 0xb4]
fst dword [esp + 0x40]
add eax, 1
fst dword [esp + 0x44]
imul eax, dword [esp + 0x10]
fst dword [esp + 0x88]
fst dword [esp + 0x8c]
fst dword [esp + 0x90]
fst dword [esp + 0x68]
fst dword [esp + 0x6c]
fst dword [esp + 0x70]
fst dword [esp + 0x50]
fst dword [esp + 0x54]
add eax, dword [esp + 0x14]
fst dword [esp + 0x58]
fst dword [esp + 0x5c]
fst dword [esp + 0x60]
fstp dword [esp + 0x64]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xe4]
lea ebx, [eax + edx*4]
lea edx, [esp + 0x3c]
push edx
push ebx
call fcn.005a5ee0
cmp dword [esp + 0x14], 0
jle 0x5a68ed
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xb4]
add eax, 1
imul eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xe4]
lea eax, [eax + edx*4 - 0x1c]
jmp 0x5a68ef
mov eax, ebx
lea ecx, [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.005a5ee0
fld dword [esp + 0x88]
fld dword [esp + 0x3c]
mov eax, dword [edi + 8]
fld st(0)
add eax, ebp
fsubp st(2)
add esi, 1
fxch st(1)
fstp dword [esp + 0x110]
fld dword [esp + 0x8c]
fld dword [esp + 0x40]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x114]
fld dword [esp + 0x90]
fld dword [esp + 0x44]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x118]
fld dword [esp + 0x110]
fld qword [0x79e648]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x94]
fld dword [esp + 0x114]
fmul st(1)
fstp dword [esp + 0x98]
fmul dword [esp + 0x118]
fstp dword [esp + 0x9c]
fld dword [esp + 0x94]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x104]
mov edx, dword [esp + 0x104]
mov dword [eax], edx
fadd dword [esp + 0x98]
fstp dword [esp + 0x108]
mov ecx, dword [esp + 0x108]
mov dword [eax + 4], ecx
fadd dword [esp + 0x9c]
fstp dword [esp + 0x10c]
mov edx, dword [esp + 0x10c]
fldz
mov dword [eax + 8], edx
mov eax, dword [edi + 0x18]
mov ecx, dword [ebx + 0x10]
mov dword [eax + ebp], ecx
mov edx, dword [ebx + 0x14]
add eax, ebp
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x28]
mov ecx, dword [esp + 0x28]
fst dword [edx + esi*8 - 8]
mov eax, dword [edi + 0x28]
fstp dword [eax + esi*8 - 4]
mov eax, dword [ecx + 0xb4]
add ebp, 0xc
cmp dword [esp + 0x14], eax
jge 0x5a6a34
mov edx, dword [esp + 0x14]
add eax, 1
imul eax, dword [esp + 0x10]
lea eax, [eax + edx + 1]
mov edx, dword [esp + 0x28]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0xe4]
lea eax, [eax + ecx*4]
jmp 0x5a6a36
mov eax, ebx
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.005a5ee0
fld dword [esp + 0x68]
fld dword [esp + 0x3c]
mov eax, dword [edi + 8]
fld st(0)
add eax, ebp
fsubp st(2)
add esi, 1
fxch st(1)
fstp dword [esp + 0xbc]
fld dword [esp + 0x6c]
fld dword [esp + 0x40]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xc0]
fld dword [esp + 0x70]
fld dword [esp + 0x44]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xc4]
fld dword [esp + 0xbc]
fld qword [0x79e648]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0xec]
fld dword [esp + 0xc0]
fmul st(1)
fstp dword [esp + 0xf0]
fmul dword [esp + 0xc4]
fstp dword [esp + 0xf4]
fld dword [esp + 0xec]
faddp st(3)
fxch st(2)
fstp dword [esp + 0xd4]
mov edx, dword [esp + 0xd4]
mov dword [eax], edx
fadd dword [esp + 0xf0]
fstp dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
fadd dword [esp + 0xf4]
fstp dword [esp + 0xdc]
mov edx, dword [esp + 0xdc]
fldz
mov dword [eax + 8], edx
mov eax, dword [edi + 0x18]
mov ecx, dword [ebx + 0x10]
add eax, ebp
mov dword [eax], ecx
mov edx, dword [ebx + 0x14]
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x28]
fst dword [edx + esi*8 - 8]
mov eax, dword [edi + 0x28]
fstp dword [eax + esi*8 - 4]
add ebp, 0xc
cmp dword [esp + 0x1c], 0x1c
jle 0x5a6b60
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xb4]
mov edx, dword [esp + 0x1c]
add eax, 1
add edx, 0xffffffc8
imul eax, edx
add eax, dword [ecx + 0xe4]
add eax, dword [esp + 0x20]
jmp 0x5a6b62
mov eax, ebx
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.005a5ee0
fld dword [esp + 0x5c]
fld dword [esp + 0x3c]
mov eax, dword [edi + 8]
fld st(0)
add eax, ebp
fsubp st(2)
add esi, 1
fxch st(1)
fstp dword [esp + 0xa0]
fld dword [esp + 0x60]
fld dword [esp + 0x40]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xa4]
fld dword [esp + 0x64]
fld dword [esp + 0x44]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xa8]
fld dword [esp + 0xa0]
fld qword [0x79e648]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0xb0]
fld dword [esp + 0xa4]
fmul st(1)
fstp dword [esp + 0xb4]
fmul dword [esp + 0xa8]
fstp dword [esp + 0xb8]
fld dword [esp + 0xb0]
faddp st(3)
fxch st(2)
fstp dword [esp + 0xc8]
mov edx, dword [esp + 0xc8]
mov dword [eax], edx
fadd dword [esp + 0xb4]
fstp dword [esp + 0xcc]
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
fadd dword [esp + 0xb8]
fstp dword [esp + 0xd0]
mov edx, dword [esp + 0xd0]
fldz
mov dword [eax + 8], edx
mov eax, dword [edi + 0x18]
mov ecx, dword [ebx + 0x10]
mov dword [eax + ebp], ecx
mov edx, dword [ebx + 0x14]
add eax, ebp
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x28]
mov ecx, dword [esp + 0x10]
fst dword [edx + esi*8 - 8]
mov eax, dword [edi + 0x28]
mov edx, dword [esp + 0x28]
fstp dword [eax + esi*8 - 4]
add ebp, 0xc
cmp ecx, dword [edx + 0xb8]
jge 0x5a6c8f
mov ecx, edx
mov eax, dword [ecx + 0xb4]
add eax, 1
imul eax, dword [esp + 0x1c]
add eax, dword [ecx + 0xe4]
add eax, dword [esp + 0x20]
jmp 0x5a6c91
mov eax, ebx
lea ecx, [esp + 0x50]
push ecx
push eax
mov ecx, edx
call fcn.005a5ee0
fld dword [esp + 0x50]
fld dword [esp + 0x3c]
mov eax, dword [edi + 8]
fld st(0)
add eax, ebp
fsubp st(2)
add dword [esp + 0x20], 0x1c
fxch st(1)
add esi, 1
fstp dword [esp + 0xe0]
fld dword [esp + 0x54]
fld dword [esp + 0x40]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xe4]
fld dword [esp + 0x58]
fld dword [esp + 0x44]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xe8]
fld dword [esp + 0xe0]
fld qword [0x79e648]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0xf8]
fld dword [esp + 0xe4]
fmul st(1)
fstp dword [esp + 0xfc]
fmul dword [esp + 0xe8]
fstp dword [esp + 0x100]
fld dword [esp + 0xf8]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
mov dword [eax], edx
fadd dword [esp + 0xfc]
fstp dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
mov dword [eax + 4], ecx
fadd dword [esp + 0x100]
fstp dword [esp + 0x84]
mov edx, dword [esp + 0x84]
fldz
mov dword [eax + 8], edx
mov eax, dword [edi + 0x18]
mov ecx, dword [ebx + 0x10]
mov dword [eax + ebp], ecx
mov edx, dword [ebx + 0x14]
add eax, ebp
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x28]
fst dword [edx + esi*8 - 8]
mov eax, dword [edi + 0x28]
fst dword [eax + esi*8 - 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
add eax, 1
lea edx, [ecx + 1]
add ebp, 0xc
cmp eax, edx
mov dword [esp + 0x14], eax
jl 0x5a6843
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
add dword [esp + 0x1c], 0x1c
add eax, 1
lea ebp, [ebx + 1]
cmp eax, ebp
mov dword [esp + 0x10], eax
jl 0x5a681c
mov esi, dword [esp + 0x24]
fstp st(0)
mov eax, dword [esp + 0x4c]
lea ebx, [eax + esi]
lea ebx, [ebx*4 - 8]
cmp ebx, dword [edi + 0x38]
lea ebp, [edi + 0x34]
jbe 0x5a6e48
cmp ebx, dword [ebp]
jbe 0x5a6e48
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x5a6e26
cmp ebx, 0x80
mov ecx, ebx
jae 0x5a6e1a
lea eax, [ebx - 1]
and eax, ebx
je 0x5a6e0e
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5a6e05
cmp ecx, 1
jae 0x5a6e26
mov ecx, 1
jmp 0x5a6e26
mov dword [ebp + 0xc], 0x80
mov ecx, 0x80
xor edx, edx
mov eax, ebx
div ecx
mov dword [esp + 0x20], ebx
test edx, edx
je 0x5a6e3c
sub ecx, edx
add ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, ebp
call fcn.0040de50
lea edx, [esi - 1]
xor eax, eax
xor ecx, ecx
test edx, edx
mov dword [ebp + 4], ebx
jle 0x5a6e91
mov ebx, dword [esp + 0x4c]
add ebx, 0xffffffff
imul ebx, esi
mov dword [esp + 0x18], ebx
mov ebp, dword [edi + 0x3c]
movzx edx, cx
add ebx, edx
mov word [ebp + eax*2], bx
mov ebx, dword [esp + 0x18]
mov ebp, dword [edi + 0x3c]
add eax, 1
lea edx, [edx + ebx + 1]
mov word [ebp + eax*2], dx
add ecx, 1
lea edx, [esi - 1]
add eax, 1
cmp ecx, edx
jl 0x5a6e64
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
test edx, edx
mov dword [esp + 0x1c], edx
jle 0x5a6ed2
mov ebp, dword [edi + 0x3c]
movzx ecx, dx
lea ebx, [ecx + 1]
imul ecx, esi
imul ebx, esi
sub ebx, 1
mov word [ebp + eax*2], bx
mov ebx, dword [edi + 0x3c]
add eax, 1
sub ecx, 1
mov word [ebx + eax*2], cx
sub edx, 1
add eax, 1
test edx, edx
jg 0x5a6ea0
mov edx, dword [esp + 0x1c]
lea ecx, [esi - 1]
test ecx, ecx
jle 0x5a6f03
lea esp, [esp]
mov ebp, dword [edi + 0x3c]
movzx ebx, cx
mov word [ebp + eax*2], bx
mov ebp, dword [edi + 0x3c]
add eax, 1
add ebx, 0xffffffff
mov word [ebp + eax*2], bx
sub ecx, 1
add eax, 1
test ecx, ecx
jg 0x5a6ee0
xor ecx, ecx
test edx, edx
jle 0x5a6f3b
add eax, eax
jmp 0x5a6f10
mov ebp, dword [edi + 0x3c]
movzx edx, cx
mov ebx, edx
imul ebx, esi
add edx, 1
imul edx, esi
mov word [eax + ebp], bx
mov ebx, dword [edi + 0x3c]
add eax, 2
mov word [eax + ebx], dx
add ecx, 1
add eax, 2
cmp ecx, dword [esp + 0x1c]
jl 0x5a6f10
mov eax, dword [esp + 0x4c]
add eax, 0xfffffffe
lea esi, [edi + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
xor ebp, ebp
cmp eax, ebp
je 0x5a6f60
push ebp
push 0xfffffffffffffffe
push 0x8287c4
push eax
call sub.Storm.dll_Ordinal_403
lea ebx, [edi + 0x5c]
mov dword [esi], ebp
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov eax, dword [ebx + 8]
cmp eax, ebp
je 0x5a6f80
push ebp
push 0xfffffffffffffffe
push 0x8287c4
push eax
call sub.Storm.dll_Ordinal_403
xor edx, edx
cmp dword [esp + 0x20], ebp
mov dword [ebx], ebp
mov dword [ebx + 4], ebp
mov dword [ebx + 8], ebp
jle 0x5a7230
lea eax, [edx + 1]
mov dword [esp + 0x30], eax
and eax, reloc.ijl15.dll_Ordinal_3
jns 0x5a6fa7
dec eax
or eax, 0xfffffffc
inc eax
jne 0x5a70e9
mov ecx, dword [esp + 0x24]
xor eax, eax
add ecx, 0xffffffff
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x5a7222
add edx, 1
imul edx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
mov edi, edi
mov ebp, dword [esi + 4]
add ebp, 1
cmp ebp, dword [esi]
jbe 0x5a7035
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x5a7013
cmp ebp, 0x80
mov ecx, ebp
jae 0x5a7007
lea eax, [ebp - 1]
and eax, ebp
je 0x5a6ffb
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5a6ff2
cmp ecx, 1
jae 0x5a7013
mov ecx, 1
jmp 0x5a7013
mov dword [esi + 0xc], 0x80
mov ecx, 0x80
xor edx, edx
mov eax, ebp
div ecx
test edx, edx
je 0x5a7023
sub ecx, edx
add ecx, ebp
jmp 0x5a7025
mov ecx, ebp
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 8]
lea ebp, [ebp + ecx*2]
add ecx, 1
mov dword [esi + 4], ecx
movzx ecx, ax
add ecx, edx
mov word [ebp], cx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a70b3
mov ebp, dword [esi + 0xc]
test ebp, ebp
jne 0x5a7091
cmp ecx, 0x80
mov ebp, ecx
jae 0x5a7085
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7079
mov ebp, eax
lea eax, [ebp - 1]
and eax, ebp
jne 0x5a7070
cmp ebp, 1
jae 0x5a7091
mov ebp, 1
jmp 0x5a7091
mov dword [esi + 0xc], 0x80
mov ebp, 0x80
xor edx, edx
mov eax, ecx
div ebp
test edx, edx
je 0x5a70a1
sub ebp, edx
add ebp, ecx
jmp 0x5a70a3
mov ebp, ecx
push ebp
mov ecx, esi
call fcn.0040de50
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov ebp, dword [esi + 8]
lea ebp, [ebp + ecx*2]
add ecx, 1
mov dword [esi + 4], ecx
movzx ecx, ax
lea ecx, [edx + ecx + 1]
mov word [ebp], cx
mov ecx, dword [esp + 0x24]
add eax, 1
add ecx, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x5a6fd0
jmp 0x5a7222
mov eax, dword [esp + 0x24]
add eax, 0xffffffff
test eax, eax
mov dword [esp + 0x10], 0
jle 0x5a7222
lea eax, [edx + 1]
imul eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ebp, dword [ebx + 4]
add ebp, 1
cmp ebp, dword [ebx]
jbe 0x5a7171
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jne 0x5a7153
cmp ebp, 0x80
mov ecx, ebp
jae 0x5a7147
lea eax, [ebp - 1]
and eax, ebp
je 0x5a713b
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5a7132
cmp ecx, 1
jae 0x5a7153
mov ecx, 1
jmp 0x5a7153
mov dword [ebx + 0xc], 0x80
mov ecx, 0x80
xor edx, edx
mov eax, ebp
div ecx
test edx, edx
je 0x5a7163
sub ecx, edx
add ecx, ebp
jmp 0x5a7165
mov ecx, ebp
push ecx
mov ecx, ebx
call fcn.0040de50
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ebp, dword [esp + 0x14]
lea edx, [edx + ecx*2]
add ecx, 1
mov dword [ebx + 4], ecx
movzx ecx, ax
add ebp, ecx
mov word [edx], bp
mov ecx, dword [ebx + 4]
add ecx, 1
cmp ecx, dword [ebx]
jbe 0x5a71ef
mov ebp, dword [ebx + 0xc]
test ebp, ebp
jne 0x5a71d1
cmp ecx, 0x80
mov ebp, ecx
jae 0x5a71c5
lea eax, [ecx - 1]
and eax, ecx
je 0x5a71b9
mov edi, edi
mov ebp, eax
lea eax, [ebp - 1]
and eax, ebp
jne 0x5a71b0
cmp ebp, 1
jae 0x5a71d1
mov ebp, 1
jmp 0x5a71d1
mov dword [ebx + 0xc], 0x80
mov ebp, 0x80
xor edx, edx
mov eax, ecx
div ebp
test edx, edx
je 0x5a71e1
sub ebp, edx
add ebp, ecx
jmp 0x5a71e3
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.0040de50
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ebp, dword [esp + 0x14]
lea edx, [edx + ecx*2]
add ecx, 1
mov dword [ebx + 4], ecx
movzx ecx, ax
lea ecx, [ecx + ebp + 1]
mov word [edx], cx
mov ecx, dword [esp + 0x24]
add eax, 1
add ecx, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x5a7110
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x20]
jl 0x5a6f94
mov eax, dword [esp + 0x24]
add eax, 0xfffffffe
test eax, eax
mov dword [esp + 0x10], 0
jle 0x5a74f1
jmp 0x5a7250
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x30], eax
and eax, reloc.ijl15.dll_Ordinal_3
jns 0x5a7267
dec eax
or eax, 0xfffffffc
inc eax
jne 0x5a73a1
xor edx, edx
cmp dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
jle 0x5a74da
lea ecx, [ecx]
mov ebp, dword [esi + 4]
add ebp, 1
cmp ebp, dword [esi]
jbe 0x5a72e1
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x5a72c3
cmp ebp, 0x80
mov ecx, ebp
jae 0x5a72b7
lea eax, [ebp - 1]
and eax, ebp
je 0x5a72ab
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5a72a2
cmp ecx, 1
jae 0x5a72c3
mov ecx, 1
jmp 0x5a72c3
mov dword [esi + 0xc], 0x80
mov ecx, 0x80
xor edx, edx
mov eax, ebp
div ecx
test edx, edx
je 0x5a72d3
sub ecx, edx
add ecx, ebp
jmp 0x5a72d5
mov ecx, ebp
push ecx
mov ecx, esi
call fcn.0040de50
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
movzx ebp, word [esp + 0x10]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
movzx eax, dx
imul eax, dword [esp + 0x24]
lea eax, [eax + ebp + 1]
mov word [ecx], ax
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a7365
mov ebp, dword [esi + 0xc]
test ebp, ebp
jne 0x5a7347
cmp ecx, 0x80
mov ebp, ecx
jae 0x5a733b
lea eax, [ecx - 1]
and eax, ecx
je 0x5a732f
mov ebp, eax
lea eax, [ebp - 1]
and eax, ebp
jne 0x5a7326
cmp ebp, 1
jae 0x5a7347
mov ebp, 1
jmp 0x5a7347
mov dword [esi + 0xc], 0x80
mov ebp, 0x80
xor edx, edx
mov eax, ecx
div ebp
test edx, edx
je 0x5a7357
sub ebp, edx
add ebp, ecx
jmp 0x5a7359
mov ebp, ecx
push ebp
mov ecx, esi
call fcn.0040de50
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
movzx eax, dx
lea ebp, [eax + 1]
imul ebp, dword [esp + 0x24]
movzx eax, word [esp + 0x10]
add edx, 1
cmp edx, dword [esp + 0x1c]
lea eax, [eax + ebp + 1]
mov word [ecx], ax
mov dword [esp + 0x14], edx
jl 0x5a7280
jmp 0x5a74da
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
jle 0x5a74da
mov edx, dword [esp + 0x14]
mov ebp, dword [ebx + 4]
add ebp, 1
cmp ebp, dword [ebx]
jbe 0x5a741f
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jne 0x5a7401
cmp ebp, 0x80
mov ecx, ebp
jae 0x5a73f5
lea eax, [ebp - 1]
and eax, ebp
je 0x5a73e9
lea ebx, [ebx]
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5a73e0
cmp ecx, 1
jae 0x5a7401
mov ecx, 1
jmp 0x5a7401
mov dword [ebx + 0xc], 0x80
mov ecx, 0x80
xor edx, edx
mov eax, ebp
div ecx
test edx, edx
je 0x5a7411
sub ecx, edx
add ecx, ebp
jmp 0x5a7413
mov ecx, ebp
push ecx
mov ecx, ebx
call fcn.0040de50
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
movzx ebp, word [esp + 0x10]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [ebx + 4], eax
movzx eax, dx
imul eax, dword [esp + 0x24]
lea eax, [eax + ebp + 1]
mov word [ecx], ax
mov ecx, dword [ebx + 4]
add ecx, 1
cmp ecx, dword [ebx]
jbe 0x5a74a3
mov ebp, dword [ebx + 0xc]
test ebp, ebp
jne 0x5a7485
cmp ecx, 0x80
mov ebp, ecx
jae 0x5a7479
lea eax, [ecx - 1]
and eax, ecx
je 0x5a746d
mov ebp, eax
lea eax, [ebp - 1]
and eax, ebp
jne 0x5a7464
cmp ebp, 1
jae 0x5a7485
mov ebp, 1
jmp 0x5a7485
mov dword [ebx + 0xc], 0x80
mov ebp, 0x80
xor edx, edx
mov eax, ecx
div ebp
test edx, edx
je 0x5a7495
sub ebp, edx
add ebp, ecx
jmp 0x5a7497
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.0040de50
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [ebx + 4], eax
movzx eax, dx
lea ebp, [eax + 1]
imul ebp, dword [esp + 0x24]
movzx eax, word [esp + 0x10]
add edx, 1
cmp edx, dword [esp + 0x1c]
lea eax, [eax + ebp + 1]
mov word [ecx], ax
mov dword [esp + 0x14], edx
jl 0x5a73b8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, 0xfffffffe
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x5a7250
mov esi, dword [esp + 0x74]
add esi, esi
cmp esi, dword [edi + 0x88]
lea ebx, [edi + 0x84]
jbe 0x5a755c
cmp esi, dword [ebx]
jbe 0x5a755c
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jne 0x5a7542
cmp esi, 0x80
mov ecx, esi
jae 0x5a7536
lea eax, [esi - 1]
and eax, esi
je 0x5a752a
mov ecx, eax
lea eax, [ecx - 1]
and eax, ecx
jne 0x5a7521
cmp ecx, 1
jae 0x5a7542
mov ecx, 1
jmp 0x5a7542
mov dword [ebx + 0xc], 0x80
mov ecx, 0x80
xor edx, edx
mov eax, esi
div ecx
mov ebp, esi
test edx, edx
je 0x5a7554
sub ecx, edx
add ecx, esi
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.0040de50
mov dword [ebx + 4], esi
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
add edx, 1
xor ecx, ecx
cmp eax, edx
mov dword [esp + 0x10], eax
jge 0x5a7618
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
add eax, 1
cmp esi, eax
jge 0x5a75fe
mov eax, dword [esp + 0x24]
imul eax, dword [esp + 0x4c]
mov dword [esp + 0x74], eax
jmp 0x5a75a0
movzx eax, word [esp + 0x10]
mov ebp, dword [edi + 0x8c]
mov ebx, eax
sub ebx, dword [esp + 0x34]
movzx edx, si
imul ebx, dword [esp + 0x24]
sub ebx, dword [esp + 0x2c]
add ecx, 1
add ebx, edx
add ebx, ebx
add ebx, ebx
mov word [ebp + ecx*2 - 2], bx
sub eax, dword [esp + 0x34]
add esi, 1
imul eax, dword [esp + 0x78]
sub eax, dword [esp + 0x2c]
add ecx, 1
add eax, dword [esp + 0x74]
add eax, edx
mov edx, dword [edi + 0x8c]
mov word [edx + ecx*2 - 2], ax
mov eax, dword [esp + 0x38]
add eax, 1
cmp esi, eax
jl 0x5a75a0
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
add edx, 1
add ebx, 1
cmp edx, ebx
mov dword [esp + 0x10], edx
jl 0x5a7583
mov eax, dword [edi + 0x78]
lea esi, [edi + 0x70]
xor edi, edi
cmp eax, edi
je 0x5a7632
push edi
push 0xfffffffffffffffe
push 0x8287c4
push eax
call sub.Storm.dll_Ordinal_403
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x34]
add eax, 1
cmp edi, eax
mov dword [esp + 0x10], edi
jge 0x5a7c91
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx]
lea ecx, [ebx + 1]
cmp edx, ecx
mov ebp, edx
mov dword [esp + 0x14], ebp
jge 0x5a7c77
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xb4]
add eax, 1
imul eax, dword [esp + 0x10]
add eax, ebp
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xe4]
lea ecx, [eax + ecx*4]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.005a5eb0
test eax, eax
je 0x5a7c60
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
sub ecx, edi
imul ecx, eax
imul eax, dword [esp + 0x4c]
sub ecx, edx
add ecx, dword [esp + 0x14]
add ecx, ecx
add ecx, ecx
movzx edx, cx
mov ecx, dword [esp + 0xac]
imul ecx, dword [esp + 0x78]
add ecx, eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1c]
lea eax, [ecx + edx*4]
movzx ebp, ax
lea ecx, [ebp + 1]
movzx edx, cx
lea eax, [ebp + 2]
movzx ecx, ax
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x30], edx
add ecx, 1
cmp ecx, dword [esi]
lea edx, [ebp + 3]
movzx ebx, dx
jbe 0x5a775d
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7745
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7739
lea eax, [ecx - 1]
and eax, ecx
je 0x5a772d
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7724
cmp edi, 1
jae 0x5a7745
mov edi, 1
jmp 0x5a7745
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7755
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dx, word [esp + 0x20]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], dx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a77cf
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a77b7
cmp ecx, 0x80
mov edi, ecx
jae 0x5a77ab
lea eax, [ecx - 1]
and eax, ecx
je 0x5a779f
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7796
cmp edi, 1
jae 0x5a77b7
mov edi, 1
jmp 0x5a77b7
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a77c7
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], bx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a783c
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7824
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7818
lea eax, [ecx - 1]
and eax, ecx
je 0x5a780c
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7803
cmp edi, 1
jae 0x5a7824
mov edi, 1
jmp 0x5a7824
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7834
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
lea ecx, [edx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], bp
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a78a9
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7891
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7885
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7879
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7870
cmp edi, 1
jae 0x5a7891
mov edi, 1
jmp 0x5a7891
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a78a1
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dx, word [esp + 0x20]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], dx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a791b
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7903
cmp ecx, 0x80
mov edi, ecx
jae 0x5a78f7
lea eax, [ecx - 1]
and eax, ecx
je 0x5a78eb
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a78e2
cmp edi, 1
jae 0x5a7903
mov edi, 1
jmp 0x5a7903
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7913
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dx, word [esp + 0x30]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], dx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a798d
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7975
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7969
lea eax, [ecx - 1]
and eax, ecx
je 0x5a795d
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7954
cmp edi, 1
jae 0x5a7975
mov edi, 1
jmp 0x5a7975
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7985
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], bx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a79fa
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a79e2
cmp ecx, 0x80
mov edi, ecx
jae 0x5a79d6
lea eax, [ecx - 1]
and eax, ecx
je 0x5a79ca
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a79c1
cmp edi, 1
jae 0x5a79e2
mov edi, 1
jmp 0x5a79e2
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a79f2
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
lea ecx, [edx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov ax, word [esp + 0x20]
mov word [ecx], ax
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a7a6c
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7a54
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7a48
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7a3c
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7a33
cmp edi, 1
jae 0x5a7a54
mov edi, 1
jmp 0x5a7a54
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7a64
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dx, word [esp + 0x18]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], dx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a7ade
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7ac6
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7aba
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7aae
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7aa5
cmp edi, 1
jae 0x5a7ac6
mov edi, 1
jmp 0x5a7ac6
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7ad6
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dx, word [esp + 0x30]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], dx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a7b50
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7b38
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7b2c
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7b20
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7b17
cmp edi, 1
jae 0x5a7b38
mov edi, 1
jmp 0x5a7b38
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7b48
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dx, word [esp + 0x20]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], dx
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a7bc9
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7bb1
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7ba5
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7b99
lea esp, [esp]
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7b90
cmp edi, 1
jae 0x5a7bb1
mov edi, 1
jmp 0x5a7bb1
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7bc1
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea ecx, [ecx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov word [ecx], bp
mov ecx, dword [esi + 4]
add ecx, 1
cmp ecx, dword [esi]
jbe 0x5a7c39
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x5a7c21
cmp ecx, 0x80
mov edi, ecx
jae 0x5a7c15
lea eax, [ecx - 1]
and eax, ecx
je 0x5a7c09
lea ecx, [ecx]
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5a7c00
cmp edi, 1
jae 0x5a7c21
mov edi, 1
jmp 0x5a7c21
mov dword [esi + 0xc], 0x80
mov edi, 0x80
xor edx, edx
mov eax, ecx
div edi
test edx, edx
je 0x5a7c31
sub edi, edx
add edi, ecx
mov ecx, edi
push ecx
mov ecx, esi
call fcn.0040de50
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov ebp, dword [esp + 0x14]
lea ecx, [edx + eax*2]
add eax, 1
mov dword [esi + 4], eax
mov ax, word [esp + 0x18]
mov word [ecx], ax
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
add dword [esp + 0x1c], 1
add ebp, 1
lea ecx, [ebx + 1]
cmp ebp, ecx
mov dword [esp + 0x14], ebp
jl 0x5a7671
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
add eax, 1
add ecx, 1
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x5a7660
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10c
ret 4