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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, ecx
mov eax, dword [ebx]
mov cl, byte [eax + 0x18]
test cl, cl
push ebp
push esi
push edi
jne 0x425ee2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa4
ret
mov eax, dword [eax + 4]
mov ebp, dword [eax + 0x10]
mov edx, dword [ebx + 0xc]
mov edi, dword [edx + 4]
xor eax, eax
test ebp, ebp
mov ecx, 0x240
rep stosd dword es:[edi], eax
jle 0x425f12
mov esi, ebp
mov ecx, dword [ebx]
push 8
call fcn.00427c30
mov ecx, dword [ebx + 4]
push eax
call fcn.00404450
dec esi
jne 0x425efd
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 4]
mov edi, eax
shr edi, 3
and eax, 7
je 0x425f30
mov edx, 8
sub edx, eax
push edx
call fcn.004043a0
inc edi
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x4124]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x14]
mov esi, eax
sub esi, ecx
sub esi, edi
lea eax, [eax + ebp]
mov dword [ebx + 0x4124], eax
jns 0x425f87
push str.Error:__bytes_to_discard___0_
call fcn.006e9a00
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebx + 0x4124]
add esp, 4
push edx
push edi
push eax
push 0x7852f8
call fcn.006e9a00
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa4
ret
cmp edi, 0x1000
jle 0x425fa7
mov ecx, dword [ebx + 4]
add eax, 0xfffff000
push 0x1000
mov dword [ebx + 0x4124], eax
call fcn.004044b0
xor edi, edi
cmp esi, edi
jle 0x425fba
mov ecx, dword [ebx + 4]
push 8
call fcn.004043a0
dec esi
jne 0x425fad
cmp dword [ebx + 0x4120], edi
mov dword [esp + 0x10], edi
jle 0x426459
mov dword [esp + 0x14], edi
jmp 0x425fd4
mov edi, dword [esp + 0x10]
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
lea esi, [edx + eax + 0x2c]
mov edx, dword [ecx + 4]
push edi
mov ecx, ebx
mov dword [esp + 0x20], esi
mov dword [ebx + 0x4128], edx
call fcn.00426fe0
push edi
mov ecx, ebx
call fcn.004264a0
push edi
lea eax, [ebx + 0x92c]
push eax
mov ecx, ebx
call fcn.004274e0
lea ebp, [ebx + 0x122c]
mov eax, ebp
mov edx, 0x20
mov ecx, 6
mov edi, dword [eax - 0x900]
mov dword [eax], edi
mov edi, dword [eax - 0x8fc]
mov dword [eax + 4], edi
mov edi, dword [eax - 0x8f8]
mov dword [eax + 8], edi
add eax, 0xc
dec ecx
jne 0x426022
dec edx
jne 0x42601d
mov eax, dword [esi + 0x10]
test eax, eax
je 0x426158
cmp dword [esi + 0x14], 2
jne 0x426158
lea edx, [ebx + 0x1b2c]
xor eax, eax
mov ecx, 0x240
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42612e
mov ecx, edx
mov eax, ebp
mov edx, 0x24
mov edi, dword [eax]
mov dword [ecx], edi
add eax, 4
add ecx, 4
dec edx
jne 0x42607f
mov eax, dword [ebx + 0x4138]
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*4]
shl eax, 2
mov edx, dword [eax + 0x779668]
mov ecx, dword [eax + 0x77966c]
mov edi, 3
mov dword [esp + 0x20], edi
sub ecx, edx
test ecx, ecx
lea edx, [edx + edx*2]
jbe 0x426103
lea eax, [edx + ecx]
lea esi, [ebp + edx*4]
lea edi, [ebp + eax*4]
lea eax, [ebx + edx*4 + 0x1b34]
lea edx, [edx + ecx*2]
lea edx, [ebp + edx*4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi]
mov dword [eax - 8], ecx
mov ecx, dword [edi]
mov dword [eax - 4], ecx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
add esi, 4
add edi, 4
add edx, 4
add eax, 0xc
dec ecx
mov dword [esp + 0x18], ecx
jne 0x4260d6
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + 0x4138]
inc edi
lea edx, [eax + eax*8]
add eax, edi
lea eax, [eax + edx*4]
shl eax, 2
mov edx, dword [eax + 0x77965c]
mov ecx, dword [eax + 0x779660]
sub ecx, edx
cmp edi, 0xd
mov dword [esp + 0x20], edi
jl 0x4260b2
jmp 0x426171
xor eax, eax
mov ecx, dword [ebx + 0x4138]
lea ecx, [ecx + ecx*8]
shl ecx, 6
add ecx, eax
mov ecx, dword [ecx*4 + 0x779cf8]
mov ecx, dword [ebp + ecx*4]
mov dword [edx], ecx
inc eax
add edx, 4
cmp eax, 0x240
jl 0x426130
jmp 0x426171
lea eax, [ebx + 0x1b2c]
mov ecx, 0x240
mov edx, dword [ebp]
mov dword [eax], edx
add ebp, 4
add eax, 4
dec ecx
jne 0x426163
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x42618d
mov ecx, dword [esi + 0x18]
test ecx, ecx
jne 0x426189
cmp dword [esi + 0x14], 2
je 0x425f7a
test eax, eax
je 0x42619f
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42619f
cmp dword [esi + 0x14], 2
mov eax, 0x12
je 0x4261a4
mov eax, 0x22e
lea ecx, [eax + 0x11]
mov eax, 0x38e38e39
mul ecx
lea edi, [ebx + 0x1b70]
shr edx, 2
lea esi, [edi + 4]
mov ecx, edi
xor eax, eax
fld dword [ecx]
add eax, 4
fld dword [esi]
sub ecx, 4
fld st(1)
add esi, 4
cmp eax, 0x20
fmul dword [eax + 0x779cb4]
fld st(1)
fmul dword [eax + 0x779cd4]
fsubp st(1)
fstp dword [ecx + 4]
fxch st(1)
fmul dword [eax + 0x779cd4]
fxch st(1)
fmul dword [eax + 0x779cb4]
faddp st(1)
fstp dword [esi - 4]
jl 0x4261be
add edi, 0x48
dec edx
jne 0x4261b7
xor ebp, ebp
lea esi, [ebx + 0x2430]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x426223
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x426223
cmp ebp, 0x24
jge 0x426223
xor eax, eax
jmp 0x426226
mov eax, dword [eax + 0x14]
push eax
lea edx, [esp + 0x28]
push edx
lea edi, [esi - 0x904]
push edi
mov ecx, ebx
call fcn.004266c0
fld dword [esp + 0x24]
fadd dword [esi - 4]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
fstp dword [edi]
mov dword [esi - 4], eax
fld dword [esp + 0x28]
mov eax, dword [esp + 0x78]
fadd dword [esi]
fstp dword [esi - 0x900]
mov dword [esi], ecx
fld dword [esp + 0x2c]
mov ecx, dword [esp + 0x7c]
fadd dword [esi + 4]
fstp dword [esi - 0x8fc]
mov dword [esi + 4], edx
fld dword [esp + 0x30]
mov edx, dword [esp + 0x80]
fadd dword [esi + 8]
fstp dword [esi - 0x8f8]
mov dword [esi + 8], eax
fld dword [esp + 0x34]
mov eax, dword [esp + 0x84]
fadd dword [esi + 0xc]
fstp dword [esi - 0x8f4]
mov dword [esi + 0xc], ecx
fld dword [esp + 0x38]
mov ecx, dword [esp + 0x88]
fadd dword [esi + 0x10]
fstp dword [esi - 0x8f0]
mov dword [esi + 0x10], edx
fld dword [esp + 0x3c]
mov edx, dword [esp + 0x8c]
fadd dword [esi + 0x14]
fstp dword [esi - 0x8ec]
mov dword [esi + 0x14], eax
fld dword [esp + 0x40]
mov eax, dword [esp + 0x90]
fadd dword [esi + 0x18]
fstp dword [esi - 0x8e8]
mov dword [esi + 0x18], ecx
fld dword [esp + 0x44]
mov ecx, dword [esp + 0x94]
fadd dword [esi + 0x1c]
fstp dword [esi - 0x8e4]
mov dword [esi + 0x1c], edx
fld dword [esp + 0x48]
mov edx, dword [esp + 0x98]
fadd dword [esi + 0x20]
fstp dword [esi - 0x8e0]
mov dword [esi + 0x20], eax
fld dword [esp + 0x4c]
mov eax, dword [esp + 0x9c]
fadd dword [esi + 0x24]
fstp dword [esi - 0x8dc]
mov dword [esi + 0x24], ecx
fld dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
fadd dword [esi + 0x28]
fstp dword [esi - 0x8d8]
mov dword [esi + 0x28], edx
fld dword [esp + 0x54]
mov edx, dword [esp + 0xa4]
fadd dword [esi + 0x2c]
fstp dword [esi - 0x8d4]
mov dword [esi + 0x2c], eax
fld dword [esp + 0x58]
fadd dword [esi + 0x30]
fstp dword [esi - 0x8d0]
mov dword [esi + 0x30], ecx
fld dword [esp + 0x5c]
fadd dword [esi + 0x34]
fstp dword [esi - 0x8cc]
fld dword [esp + 0x60]
mov eax, dword [esp + 0xa8]
fadd dword [esi + 0x38]
mov ecx, dword [esp + 0xac]
mov dword [esi + 0x34], edx
mov edx, dword [esp + 0xb0]
fstp dword [esi - 0x8c8]
mov dword [esi + 0x38], eax
fld dword [esp + 0x64]
add ebp, 0x12
fadd dword [esi + 0x3c]
add esi, 0x48
cmp ebp, 0x240
fstp dword [esi - 0x90c]
mov dword [esi - 0xc], ecx
fld dword [esp + 0x68]
fadd dword [esi - 8]
fstp dword [esi - 0x908]
mov dword [esi - 8], edx
jl 0x426208
lea edx, [ebx + 0x1b78]
mov esi, 0x10
mov eax, edx
mov ecx, 9
fld dword [eax]
add eax, 8
dec ecx
fchs
fstp dword [eax - 8]
jne 0x4263e7
add edx, 0x90
dec esi
jne 0x4263e0
lea esi, [ebx + 0x1b2c]
mov edi, 0x12
mov eax, 0x1008
mov ecx, esi
mov edx, 0x20
fld dword [ecx]
mov ebp, dword [ebx + 8]
fstp dword [eax + ebp]
add eax, 4
add ecx, 0x48
dec edx
jne 0x426414
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
call fcn.0045c860
add esi, 4
dec edi
jne 0x426408
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x4120]
inc eax
add edx, 0x48
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jl 0x425fd0
mov ecx, dword [ebx]
call fcn.004278c0
test al, al
je 0x42647b
mov ecx, dword [ebx]
pop edi
pop esi
mov byte [ecx + 0x18], 1
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 4]
pop ebp
pop ebx
add esp, 0xa4
ret
mov edx, dword [ebx]
pop edi
pop esi
mov byte [edx + 0x18], 0
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 4]
pop ebp
pop ebx
add esp, 0xa4
ret