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

Disassembly:
sub esp, 0x38
cmp dword [0x5d5f9c], 2
push ebx
push ebp
push esi
mov esi, dword [edi]
mov dword [esp + 0x18], esi
jle 0x41e7c2
push str.static_memory_usage:_n
call fcn.004b7f6d
add esp, 4
fld qword [0x5b47f8]
xor eax, eax
fstp qword [edi + 0x48]
mov dword [edi + 0x588], eax
mov dword [edi + 0x50], 0x1e
mov dword [edi + 0x54], 0x28
mov dword [edi + 0x58], 0x40
mov dword [edi + 0x5c], 0x100
mov dword [edi + 0x60], eax
call fcn.00444ce0
mov al, byte [0x5d6570]
mov dword [0x5d5d20], 0x41b170
mov dword [0x5d5d38], 0x42cdc0
test al, al
jne 0x41e81e
mov dword [0x5d5d38], 0x429c80
mov dword [0x5d5d30], 0x41afe0
mov dword [0x5d5d3c], 0x4138b0
test al, al
jne 0x41e840
mov dword [0x5d5d3c], 0x412b60
push 0x38
mov dword [0x5d5d14], 0x4269d0
mov dword [0x5d5d2c], 0x427c80
mov dword [edi + 0x70], 0x8000
mov dword [edi + 0x74], 0xf
call fcn.004b7263
add esp, 4
lea ebx, [edi + 0x14]
push ebx
mov dword [edi + 0x2c], eax
call fcn.004565a0
add esp, 4
add esi, 0xa28
push esi
push ebx
call fcn.00456880
lea ebp, [edi + 0x20]
push ebp
call fcn.004565a0
lea eax, [edi + 0x38]
add esp, 0xc
push eax
call fcn.004565a0
add esp, 4
xor esi, esi
push 4
push 0x400000
mov dword [edi + 0xc8], esi
mov dword [edi + 0xcc], esi
mov dword [edi + 0xd4], esi
mov dword [edi + 0xd0], esi
call fcn.004b9228
add esp, 8
cmp eax, esi
jne 0x41e8e6
push 0x1000000
push 0x5adcf0
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
push 0x27100
mov dword [edi + 0xc4], eax
mov dword [edi + 0xbc], 1
mov dword [edi + 0xc0], 0x2710
call fcn.004b7263
add esp, 4
test eax, eax
jne 0x41e92a
push 0x27100
push 0x5adcd0
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
cmp dword [0x5d5f9c], 2
mov dword [edi + 0xb8], eax
jle 0x41e960
push 0x1000000
push str._tinitial_cycle_hashtable:__d_bytes_n
call fcn.004b7f6d
mov eax, dword [edi + 0xc0]
shl eax, 4
push eax
push str._tinitial_cycle_table:__d_bytes_n
call fcn.004b7f6d
add esp, 0x10
nop
mov esi, edi
call fcn.00420c10
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx]
mov edx, eax
and edx, 0xf
sub eax, edx
add eax, 0x10
push 0x40
push 0x10
mov dword [ecx], eax
call fcn.004ba124
mov ecx, dword [edi + 0x2c]
push 0x40
push 0x10
mov dword [ecx + 0x34], eax
call fcn.004ba124
mov edx, dword [edi + 0x2c]
mov dword [edx + 0x30], eax
mov esi, dword [edi + 0x2c]
mov eax, dword [esi]
add eax, eax
add eax, eax
push eax
call fcn.004b7263
mov dword [edi + 0xc], eax
mov ecx, dword [esi]
add esp, 0x14
add ecx, ecx
add ecx, ecx
push 0x40
push ecx
call fcn.004ba124
mov edx, dword [esi + 0x34]
push 0x40
push 0x400
mov dword [edx + 8], eax
call fcn.004ba124
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x30]
push 0x40
push 0x400
mov dword [edx + 8], eax
call fcn.004ba124
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x30]
push 0x40
push 0x400
mov dword [edx + 4], eax
call fcn.004ba124
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x30]
push 0x40
push 0x400
mov dword [edx], eax
call fcn.004ba124
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x30]
mov dword [edx + 0xc], eax
mov esi, dword [edi + 0x2c]
mov eax, dword [esi]
add eax, eax
push 0x40
push eax
call fcn.004ba124
mov ecx, dword [esi + 0x34]
mov dword [ecx + 4], eax
mov esi, dword [edi + 0x2c]
mov edx, dword [esi]
add edx, edx
push 0x40
push edx
call fcn.004ba124
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov esi, dword [edi + 0x2c]
mov edx, dword [esi]
add edx, edx
push 0x40
add edx, edx
push edx
call fcn.004ba124
mov ecx, dword [esi + 0x34]
add esp, 0x40
cmp dword [0x5d5f9c], 2
mov dword [ecx + 0xc], eax
jle 0x41ea78
mov edx, dword [edi + 0x2c]
mov eax, dword [edx]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push str._tfactor_base:__d_bytes_n
call fcn.004b7f6d
add esp, 8
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx]
push ebx
call fcn.00420500
movzx eax, al
add esp, 4
push eax
push ebx
push ebx
mov dword [edi + 0x10], eax
call fcn.00459570
lea edx, [esp + 0x40]
add esp, 0xc
push edx
call fcn.004565a0
add esp, 4
push 0xa
push ebx
call fcn.00457f70
mov esi, eax
lea eax, [esp + 0x3c]
push 0xa
push eax
call fcn.00456980
lea ecx, [esi - 1]
push ecx
lea edx, [esp + 0x48]
push edx
mov eax, edx
push eax
call fcn.00459240
add esp, 0x1c
lea ecx, [esp + 0x34]
push ebx
push ecx
call fcn.00456920
xor edx, edx
test eax, eax
setg dl
lea eax, [esp + 0x3c]
push eax
sub esi, edx
call fcn.00456900
add esp, 0xc
push 2
push ebx
mov dword [edi + 4], esi
call fcn.00457f70
push ebx
push ebp
mov dword [edi + 8], eax
call fcn.00457ad0
add esp, 0x10
mov eax, edi
call fcn.00420760
mov esi, eax
test esi, esi
je 0x41ebe2
lea ecx, [esp + 0x28]
push ecx
call fcn.004565a0
add esp, 4
xor eax, eax
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.00456980
lea eax, [esp + 0x30]
push 0x20
push eax
mov ecx, eax
push ecx
call fcn.004570a0
add esp, 0x14
lea edx, [esp + 0x28]
push esi
push edx
mov eax, edx
push eax
call fcn.00456ad0
mov esi, dword [edi]
add esp, 0xc
lea eax, [esp + 0x28]
call fcn.004464e0
lea ecx, [esp + 0x28]
push ecx
call fcn.00456900
mov edx, dword [edi + 0x10]
add esp, 4
push edx
push ebx
push ebx
call fcn.00456800
mov eax, dword [edi + 0xc]
add esp, 0xc
push eax
call fcn.004b7229
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 8]
add esp, 4
push eax
call fcn.004ba10a
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 4]
add esp, 4
push eax
call fcn.004ba10a
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx]
add esp, 4
push eax
call fcn.004ba10a
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0xc]
add esp, 4
push eax
call fcn.004ba10a
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0x34]
add esp, 4
push edx
call fcn.004ba10a
add esp, 4
jmp 0x41e960
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + 8]
mov ebp, 1
mov dword [edx], ebp
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + 8]
mov dword [edx + 4], 2
mov eax, dword [edi + 0x70]
cmp eax, 0x8000
jne 0x41ec16
mov ecx, dword [edi + 0x54]
add ecx, ecx
mov dword [edi + 0x54], ecx
jmp 0x41ec21
cmp eax, 0x10000
jne 0x41f495
cmp dword [edi + 0x54], ebp
jae 0x41ec29
mov dword [edi + 0x54], ebp
cmp dword [edi + 8], 0x8c
ja 0x41ec35
mov dword [edi + 0x54], ebp
mov edx, dword [edi + 0x54]
imul edx, eax
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6c], edx
mov ecx, dword [eax]
cmp ecx, 0x400
jb 0x41ec50
mov ecx, 0x400
mov dword [eax + 4], ecx
mov edx, dword [edi + 0x2c]
mov ecx, 2
cmp dword [edx], ecx
jbe 0x41ec7b
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
mov esi, dword [edi + 0x5c]
add eax, 8
cmp dword [eax], esi
ja 0x41ec7b
mov ebx, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [ebx]
jb 0x41ec6b
mov dword [edi + 0x34], ecx
cmp ecx, dword [edx]
jae 0x41eca9
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
jmp 0x41ec90
cmp dword [eax], 0x400
jbe 0x41ec9d
test cl, 7
je 0x41eca9
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41ec90
mov dword [edx + 8], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41ecd9
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
lea esp, [esp]
cmp dword [eax], 0x800
jbe 0x41eccd
test cl, 7
je 0x41ecd9
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41ecc0
mov dword [edx + 0xc], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41ed09
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
lea esp, [esp]
cmp dword [eax], 0x1000
jbe 0x41ecfd
test cl, 7
je 0x41ed09
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41ecf0
mov dword [edx + 0x10], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41ed39
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
lea esp, [esp]
cmp dword [eax], 0x2000
jbe 0x41ed2d
test cl, 7
je 0x41ed39
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41ed20
mov dword [edx + 0x14], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41ed69
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
lea esp, [esp]
cmp dword [eax], 0x2aaa
jbe 0x41ed5d
test cl, 7
je 0x41ed69
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41ed50
mov dword [edx + 0x18], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41ed99
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
lea esp, [esp]
cmp dword [eax], 0x4000
jbe 0x41ed8d
test cl, 7
je 0x41ed99
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41ed80
mov dword [edx + 0x1c], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41edc9
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*4]
lea esp, [esp]
cmp dword [eax], 0x8000
jbe 0x41edbd
test cl, 7
je 0x41edc9
mov esi, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [esi]
jb 0x41edb0
mov dword [edx + 0x20], ecx
mov esi, dword [edi + 0x2c]
cmp ecx, dword [esi]
jae 0x41ee3c
mov edx, dword [edi + 0x70]
fild dword [edi + 0x70]
test edx, edx
jns 0x41ede3
fadd qword [0x5b4428]
fmul qword [0x5b47f0]
fnstcw word [esp + 0xe]
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp + 0x20]
mov ebx, dword [esp + 0x20]
mov eax, dword [esi + 0x34]
mov edx, dword [eax + 8]
lea eax, [edx + ecx*4]
fldcw word [esp + 0xe]
mov edx, dword [eax]
cmp edx, ebx
jbe 0x41ee1f
test cl, 0xf
je 0x41ee3c
cmp edx, 0x10000
ja 0x41ee35
mov edx, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [edx]
jb 0x41ee14
jmp 0x41ee3c
mov eax, ecx
and eax, 0xf
sub ecx, eax
mov dword [esi + 0x24], ecx
mov edx, dword [edi + 0x2c]
cmp ecx, dword [edx]
jae 0x41ee6c
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 8]
mov esi, dword [edi + 0x6c]
lea eax, [eax + ecx*4]
cmp dword [eax], esi
jbe 0x41ee5b
test cl, 0xf
je 0x41ee69
mov ebx, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [ebx]
jb 0x41ee52
jmp 0x41ee6c
sub ecx, 0x10
mov dword [edx + 0x28], ecx
mov esi, dword [edi + 0x2c]
cmp ecx, dword [esi]
jae 0x41ee94
mov eax, dword [esi + 0x34]
mov edx, dword [edi + 0x6c]
mov eax, dword [eax + 8]
add edx, edx
lea eax, [eax + ecx*4]
cmp dword [eax], edx
ja 0x41ee94
mov ebx, dword [edi + 0x2c]
add ecx, ebp
add eax, 4
cmp ecx, dword [ebx]
jb 0x41ee84
mov dword [esi + 0x2c], ecx
cmp dword [0x5d5f9c], ebp
jle 0x41ef48
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov edx, dword [eax + 0x28]
push ecx
mov ecx, dword [eax + 0x24]
push edx
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [eax + 0x1c]
push edx
mov edx, dword [eax + 0x18]
push ecx
mov ecx, dword [eax + 0x14]
push edx
mov edx, dword [eax + 0x10]
push ecx
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 8]
push ecx
mov ecx, dword [edi + 0x34]
push edx
mov edx, dword [eax + 4]
push ecx
push edx
push str.fb_bounds_n_tsmall:__u_n_tSPV:__u_n_t10bit:__u_n_t11bit:__u_n_t12bit:__u_n_t13bit:__u_n_t32k_div_3:__u_n_t14bit:__u_n_t15bit:__u_n_tmed:__u_n_tlarge:__u_n_tall:__u_n
call fcn.004b7f6d
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x34]
mov ecx, dword [ecx + 8]
mov edx, dword [eax + 0x28]
mov edx, dword [ecx + edx*4 - 4]
add esp, 0x34
push edx
mov edx, dword [eax + 0x24]
mov edx, dword [ecx + edx*4 - 4]
push edx
mov edx, dword [eax + 0x20]
mov edx, dword [ecx + edx*4 - 4]
push edx
mov edx, dword [eax + 0x1c]
mov edx, dword [ecx + edx*4 - 4]
push edx
mov edx, dword [eax + 0x18]
mov edx, dword [ecx + edx*4 - 4]
push edx
mov edx, dword [eax + 0x14]
mov edx, dword [ecx + edx*4 - 4]
push edx
mov edx, dword [eax + 0x10]
mov edx, dword [ecx + edx*4 - 4]
push edx
mov edx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4 - 4]
mov eax, dword [eax + 8]
push edx
mov edx, dword [ecx + eax*4 - 4]
mov eax, dword [edi + 0x34]
mov ecx, dword [ecx + eax*4 - 4]
push edx
push ecx
push str.start_primes_n_tSPV:__u_n_t10bit:__u_n_t11bit:__u_n_t12bit:__u_n_t13bit:__u_n_t32k_div_3:__u_n_t14bit:__u_n_t15bit:__u_n_tmed:__u_n_tlarge:__u_n
call fcn.004b7f6d
add esp, 0x2c
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + 0x34]
mov ebx, dword [edi + 0x50]
mov eax, dword [eax]
mov ecx, dword [edx + 8]
mov esi, dword [ecx + eax*4 - 4]
xor ebp, ebp
push ebp
push ebx
push ebp
push 0xffffffffffffffff
mov dword [edi + 0x7c], esi
call fcn.004bdc20
cmp edx, ebp
ja 0x41ef8f
jb 0x41ef73
cmp eax, esi
jae 0x41ef8f
push ebp
push esi
xor ebp, ebp
push ebp
push 0xffffffffffffffff
call fcn.004bdc20
mov edx, esi
imul edx, eax
mov dword [edi + 0x50], eax
mov dword [edi + 0xa4], edx
jmp 0x41ef9a
imul ebx, esi
mov dword [edi + 0xa4], ebx
xor ebp, ebp
mov eax, dword [edi + 4]
cmp eax, 0x51
ja 0x41f001
mov ecx, dword [edi]
cmp dword [ecx + 0xe9c], ebp
jne 0x41f001
cmp eax, 0x1e
jae 0x41efca
mov dword [0x5d5d28], 0x428d90
mov dword [edi + 0x80], 8
mov dword [edi + 0x60], ebp
jmp 0x41f01c
cmp eax, 0x3c
jae 0x41efe8
mov dword [0x5d5d28], 0x428f70
mov dword [edi + 0x80], 0x20
mov dword [edi + 0x60], ebp
jmp 0x41f01c
mov dword [0x5d5d28], 0x4291b0
mov dword [edi + 0x80], 0x40
mov dword [edi + 0x60], ebp
jmp 0x41f01c
mov dword [edi + 0x60], 1
mov dword [0x5d5d28], 0x4293f0
mov dword [edi + 0x80], 0x80
mov ecx, dword [edi]
add ecx, 0xa4c
mov esi, dword [esp + 0x18]
mov eax, ebp
mov dword [esi + 0xa34], eax
mov dword [esi + 0xa38], eax
mov dword [esi + 0xa3c], eax
mov dword [esi + 0xa44], eax
mov dword [esi + 0xa48], eax
mov dword [esi + 0xa40], 0x5ae3dc
je 0x41f05a
mov dword [esi + 0xa40], ecx
push 0x10000
call fcn.004b7263
add esp, 4
cmp eax, ebp
jne 0x41f084
push 0x10000
push 0x5adcd0
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [esi + 0xa44], eax
cmp dword [edi + 0x60], ebp
je 0x41f0fc
mov eax, dword [edi + 0x7c]
xor ecx, ecx
push ecx
push eax
push ecx
push eax
call fcn.004bdf50
xor ecx, ecx
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], edx
cmp eax, ebp
je 0x41f0b7
nop
shr eax, 1
inc ecx
cmp eax, ebp
jne 0x41f0b0
mov edx, dword [edi + 0xa4]
fild dword [edi + 0xa4]
mov dword [edi + 0x64], ecx
test edx, edx
jns 0x41f0d0
fadd qword [0x5b4428]
fld qword [0x5b4848]
call fcn.004bd930
call fcn.004bd196
xor ecx, ecx
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], edx
cmp eax, ebp
je 0x41f0f9
shr eax, 1
inc ecx
cmp eax, ebp
jne 0x41f0f2
mov dword [edi + 0x68], ecx
push 1
lea eax, [edi + 0x14]
push eax
lea esi, [edi + 0x38]
push esi
call fcn.004570a0
add esp, 0xc
push esi
push esi
call fcn.00457ad0
mov eax, dword [edi + 0x6c]
push eax
push esi
push esi
call fcn.00456800
fld qword [0x5b43e8]
add esp, 0x14
call fcn.004bdd80
fstp qword [esp + 0x10]
mov ecx, dword [edi + 0xa4]
fild dword [edi + 0xa4]
test ecx, ecx
jns 0x41f148
fadd qword [0x5b4428]
call fcn.004bdd80
fmul qword [edi + 0x48]
mov ecx, dword [edi + 8]
fnstcw word [esp + 0xe]
fdiv qword [esp + 0x10]
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x18], eax
dec ecx
shr ecx, 1
movzx ebx, cl
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov dl, byte [esp + 0x18]
movzx eax, dl
mov edx, dword [edi + 0x6c]
fldcw word [esp + 0xe]
sub ebx, eax
fild dword [edi + 0x6c]
test edx, edx
jns 0x41f194
fadd qword [0x5b4428]
fmul qword [0x5b43f0]
call fcn.004bdd80
fdiv qword [esp + 0x10]
mov esi, dword [edi + 4]
fnstcw word [esp + 0xe]
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov al, byte [esp + 0x18]
movzx ecx, al
add ebx, ecx
fldcw word [esp + 0xe]
cmp esi, 0x46
jb 0x41f1da
cmp esi, 0x4b
jae 0x41f1df
inc ebx
jmp 0x41f200
cmp esi, 0x4b
jb 0x41f1e4
cmp esi, 0x4e
jb 0x41f200
cmp esi, 0x4e
jb 0x41f1f3
cmp esi, 0x51
jae 0x41f1f8
sub ebx, 2
jmp 0x41f200
cmp esi, 0x51
jb 0x41f200
cmp esi, 0x55
jae 0x41f200
sub ebx, 3
cmp dword [edi + 0x34], 2
fldz
fst qword [esp + 0x18]
jbe 0x41f267
mov eax, dword [edi + 0x70]
fild dword [edi + 0x70]
mov edx, dword [edi + 0x2c]
mov ecx, dword [edx + 0x34]
test eax, eax
jns 0x41f222
fadd qword [0x5b4428]
mov ebp, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edi + 0x34]
sub edx, ebp
lea eax, [ebp + 8]
sub ecx, 2
mov ebp, dword [edx + eax]
fild dword [edx + eax]
test ebp, ebp
jns 0x41f243
fadd qword [0x5b4428]
mov ebp, dword [eax]
fmul st(1)
fild dword [eax]
test ebp, ebp
jns 0x41f253
fadd qword [0x5b4428]
fdivp st(1)
add eax, 4
dec ecx
faddp st(2)
jne 0x41f233
fstp st(0)
xor ebp, ebp
fstp qword [esp + 0x18]
jmp 0x41f269
fstp st(0)
fld qword [0x5b4580]
call fcn.004bd830
fmul qword [0x5b47e8]
fld qword [esp + 0x18]
mov ecx, dword [edi + 0x70]
fadd st(0), st(0)
fild dword [edi + 0x70]
test ecx, ecx
jns 0x41f290
fadd qword [0x5b4428]
fdivp st(1)
fnstcw word [esp + 0xe]
faddp st(1)
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov dl, byte [esp + 0x18]
movzx eax, dl
mov dword [edi + 0x84], eax
fldcw word [esp + 0xe]
cmp esi, 0x55
jb 0x41f2c9
lea ebx, [esi + 5]
jmp 0x41f2cb
sub ebx, eax
mov eax, dword [edi]
cmp dword [eax + 0xe74], ebp
je 0x41f2e9
mov ebx, dword [eax + 0xe78]
push ebx
push str.overriding_with_new_closnuf___d_n
call fcn.004b7f6d
add esp, 8
cmp ebx, 0x80
jb 0x41f2f6
mov ebx, 0x7f
lea eax, [edi + 0x568]
push eax
mov byte [edi + 0x78], bl
mov dword [edi + 0x88], ebx
call fcn.004565a0
add esp, 4
push 0x34
call fcn.004b7263
add esp, 4
push eax
mov dword [edi + 0x584], eax
call fcn.004565a0
mov ecx, dword [edi + 0x584]
add ecx, 0xc
add esp, 4
push ecx
call fcn.004565a0
mov edx, dword [edi + 0x584]
add edx, 0x18
add esp, 4
push edx
call fcn.004565a0
add esp, 4
push 0x50
call fcn.004b7263
mov ecx, dword [edi + 0x584]
add esp, 4
push 0x10000
mov dword [ecx + 0x24], eax
call fcn.004b7263
mov edx, dword [edi + 0x584]
add esp, 4
push 0x10000
mov dword [edx + 0x28], eax
call fcn.004b7263
mov ecx, dword [edi + 0x584]
add esp, 4
push 0xc
mov dword [ecx + 0x2c], eax
call fcn.004b7263
fld qword [0x5b4450]
mov edx, dword [edi + 0x2c]
mov dword [edi + 0x558], eax
mov eax, 0xcccccccd
mul dword [edx]
fstp qword [edi + 0xf0]
fldz
fst qword [edi + 0xe8]
shr edx, 3
lea ebx, [edi + 0xe0]
add esp, 4
mov dword [edi + 0xf8], edx
mov dword [edi + 0xfc], edx
mov dword [edi + 0x100], ebp
mov dword [edi + 0x104], ebp
mov dword [edi + 0x108], ebp
cmp ebx, ebp
je 0x41f432
lea eax, [esp + 0x20]
fstp st(0)
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov edx, dword [esp + 0x24]
push ebp
xor ecx, ecx
or ecx, dword [esp + 0x24]
xor esi, esi
push 0xa
or edx, esi
push edx
push ecx
call fcn.004bdc20
mov esi, eax
push ebp
add esi, 0xb779c000
push 0xf4240
adc edx, 0xffd6a169
push edx
push esi
call fcn.004bdc20
fldz
mov dword [ebx], eax
imul eax, eax, 0xf4240
sub esi, eax
mov dword [ebx + 4], esi
pop esi
fst qword [edi + 0x130]
fst qword [edi + 0x138]
mov dword [edi + 0x11c], ebp
mov dword [edi + 0x120], ebp
fst qword [edi + 0x140]
mov dword [edi + 0x124], ebp
fstp qword [edi + 0x148]
mov dword [edi + 0x128], ebp
mov dword [edi + 0x12c], ebp
mov dword [edi + 0x554], ebp
mov dword [edi + 0xd8], ebp
mov dword [edi + 0x114], ebp
mov dword [edi + 0x118], ebp
mov dword [edi + 0xdc], ebp
mov dword [edi + 0x150], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push str.unknown_block_size__n
call fcn.004b7f6d
add esp, 4
push ebp
call fcn.004b856d
int3