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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x7a8
mov dword [esp + 8], edx
mov dword [esp + 0x28], ecx
movsd qword [esp + 0x68], xmm0
mov esi, 0x100000
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
lea eax, [esi - 1]
mov ecx, edx
mov ebx, edx
and eax, edx
mov dword [esp + 4], edx
shr ecx, 0x14
shld ebx, edi, 1
lea edx, [eax + 0x100000]
and ecx, 0x7ff
and ebx, 0x1fffff
test ecx, ecx
cmove edx, ebx
mov dword [esp + 0x14], edx
lea edx, [edi + edi]
cmovne edx, edi
ucomisd xmm0, xmm0
jp 0x44aa07
mov ebx, edx
and ebx, 1
or eax, edi
je 0x44a9b0
test dword [esp + 4], 0x7ff00000
jne 0x44a9d5
add ecx, 0xfffffbcd
jmp 0x44a9ff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 4]
and ecx, 0x7fffffff
mov eax, ecx
xor eax, 0x7ff00000
or eax, edi
je 0x44aa37
or edi, ecx
mov ecx, dword [esp + 0xc]
jne 0x44a9d5
mov bl, 4
jmp 0x44aa39
mov eax, dword [esp + 0x14]
xor esi, eax
or esi, edx
jne 0x44a9ec
movzx ecx, cx
mov bl, 1
add ecx, 0xfffffbcb
jmp 0x44aa39
shld eax, edx, 1
movzx ecx, cx
add edx, edx
mov dword [esp + 0x14], eax
add ecx, 0xfffffbcc
xor bl, 1
or bl, 0xfe
jne 0x44aa46
mov ecx, dword [esp + 0x28]
mov word [esp + 0x70], 2
mov dword [esp + 0x74], 0x50555b
mov dword [esp + 0x78], 3
mov edi, 1
lea eax, [esp + 0x70]
xor esi, esi
mov edx, 1
jmp 0x44bab1
mov bl, 3
add bl, 0xfe
xor edx, edx
mov dword [esp + 0x14], 0x400000
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 4]
movzx eax, bl
cmp bl, 3
mov ebx, 3
mov dword [esp + 0x2c], edx
mov edi, 0x5138c8
mov edx, 0x50555a
cmovb ebx, eax
mov esi, ecx
shr esi, 0x1f
test ecx, ecx
mov ecx, 1
cmovs ecx, edi
cmovs edx, edi
cmp byte [esp + 8], 0
cmove edx, ecx
mov edi, edx
mov edx, 1
cmovne esi, edx
cmp bl, 1
je 0x44aad5
mov edx, dword [ebp + 8]
movzx eax, bl
cmp eax, 2
jne 0x44aaf1
test edx, edx
mov word [esp + 0x70], 2
je 0x44ad2f
mov dword [esp + 0x74], str.0.NaNinfassertion_failed:_buf.len_____maxlen
mov dword [esp + 0x78], 2
mov word [esp + 0x7c], 0
mov dword [esp + 0x80], edx
mov edx, 2
jmp 0x44ad44
mov word [esp + 0x70], 2
mov dword [esp + 0x74], 0x50555e
mov dword [esp + 0x78], 3
jmp 0x44ad44
mov ecx, edi
mov edi, dword [esp + 0xc]
mov eax, 0xfffffff4
mov ebx, 5
test di, di
cmovs ebx, eax
movsx eax, di
imul ebx, eax
cmp ebx, 0x3ec0
jae 0x44baf8
mov dword [esp + 0x60], eax
mov eax, edx
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, 0x8000
neg eax
cmp edx, 0x8000
mov edx, dword [esp + 0x2c]
cmovb ecx, eax
mov dword [esp + 0x18], ecx
mov eax, edx
or eax, esi
je 0x44bb0c
mov eax, dword [esp + 0xc]
shr ebx, 4
test esi, esi
mov edi, edx
cmove edi, esi
cmove esi, edx
mov dword [esp + 0x20], ebx
mov edx, edi
lea ecx, [eax - 0x20]
cmovne ecx, eax
mov eax, esi
shl edx, 0x10
shld eax, edi, 0x10
test esi, 0xffff0000
cmovne edx, edi
lea edi, [ecx - 0x10]
cmovne eax, esi
cmovne edi, ecx
mov ecx, eax
mov esi, edx
shld ecx, edx, 8
shl esi, 8
test eax, 0xff000000
lea ebx, [edi - 8]
cmovne esi, edx
cmovne ecx, eax
cmovne ebx, edi
mov eax, ecx
mov edx, esi
shld eax, esi, 4
shl edx, 4
test ecx, 0xf0000000
cmovne edx, esi
lea esi, [ebx - 4]
cmovne eax, ecx
cmovne esi, ebx
mov edi, eax
shld edi, edx, 2
test eax, 0xc0000000
lea ebx, [esi - 2]
cmovne ebx, esi
lea esi, [edx*4]
cmovne edi, eax
mov eax, 0xffffffa0
cmovne esi, edx
xor ecx, ecx
test edi, edi
mov edx, 0x7b4dc993
setns cl
sub ebx, ecx
sub eax, ebx
mov dword [esp + 0x1c], ebx
cwde
lea eax, [eax + eax*4]
shl eax, 4
add eax, 0x153b0
mul edx
mov eax, esi
mov ebx, edx
shl eax, cl
shld edi, esi, cl
shr ebx, 6
mov dword [esp + 8], eax
and ebx, 0xfffffff0
mov ecx, dword [ebx + 0x504edc]
mov dword [esp + 0x30], ebx
mov eax, ecx
mul edi
mov dword [esp + 0x10], eax
mov eax, ecx
mov esi, edx
mov ecx, dword [ebx + 0x504ed8]
mul dword [esp + 8]
mov dword [esp + 0x34], eax
mov eax, ecx
mov dword [esp + 0x24], edx
mul edi
mov edi, eax
mov eax, ecx
mov dword [esp + 4], edx
mul dword [esp + 8]
mov ecx, dword [esp + 4]
xor eax, eax
add edx, edi
mov edi, 1
setb al
add edx, dword [esp + 0x34]
adc eax, 0
add ecx, dword [esp + 0x10]
adc esi, 0
add ecx, dword [esp + 0x24]
adc esi, 0
add edx, 0x80000000
adc ecx, eax
mov eax, 0xffffffc0
mov edx, ecx
mov dword [esp + 4], ecx
movzx ecx, word [ebx + 0x504ee0]
adc esi, 0
xor ebx, ebx
add cx, word [esp + 0x1c]
sub eax, ecx
mov ecx, eax
mov dword [esp + 0x5c], eax
mov eax, esi
and ecx, 0x3f
mov dword [esp + 0x4c], eax
shrd edx, esi, cl
shld ebx, edi, cl
shr esi, cl
shl edi, cl
test cl, 0x20
mov dword [esp + 0x24], ecx
mov ecx, 0
cmovne ebx, edi
cmovne edi, ecx
cmove esi, edx
mov ecx, edi
mov edx, ebx
add ecx, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x34], ecx
mov dword [esp + 0x64], edx
and eax, edx
mov edx, dword [esp + 4]
and edx, ecx
mov ecx, edx
or ecx, eax
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + 0x15]
mov dword [esp + 0x10], ecx
je 0x44b08b
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
cmp esi, 0x2710
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 8], eax
movzx edx, word [ecx + 0x504ee2]
jae 0x44ad51
cmp esi, 0x64
jae 0x44ad74
xor ecx, ecx
cmp esi, 0xa
setae cl
lea ebx, [ecx + ecx*8 + 1]
jmp 0x44adcb
mov edx, 1
mov dword [esp + 0x74], 0x512ad5
mov dword [esp + 0x78], 1
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x70]
jmp 0x44bab1
cmp esi, 0xf4240
jae 0x44ad8f
cmp esi, 0x186a0
mov edi, 0x2710
mov ebx, 0x186a0
setb cl
cmovb ebx, edi
xor cl, 5
jmp 0x44adcb
cmp esi, 0x3e8
mov edi, 0x64
mov ebx, 0x3e8
setb cl
cmovb ebx, edi
xor cl, 3
jmp 0x44adcb
cmp esi, 0x5f5e100
jae 0x44adb2
cmp esi, 0x989680
mov edi, 0xf4240
mov ebx, 0x989680
setb cl
cmovb ebx, edi
xor cl, 7
jmp 0x44adcb
cmp esi, 0x3b9aca00
mov edi, 0x5f5e100
mov ebx, 0x3b9aca00
setb cl
cmovb ebx, edi
xor cl, 9
movzx ecx, cl
mov edi, dword [esp + 0x18]
mov eax, ecx
sub eax, edx
inc eax
cmp ax, di
mov dword [esp + 0x38], eax
jle 0x44ae55
movzx edx, word [esp + 0x5c]
mov dword [esp + 0x30], edx
mov edx, eax
movsx eax, dx
sub edx, edi
movsx edi, di
sub eax, edi
mov edi, dword [esp + 0x10]
cmp eax, edi
movsx eax, dx
cmovae eax, edi
neg ecx
mov edi, 1
mov dword [esp + 4], eax
nop dword [eax]
mov eax, esi
xor edx, edx
div ebx
add al, 0x30
cmp dword [esp + 4], edi
mov esi, edx
mov byte [esp + edi + 0x3a3], al
je 0x44aed5
lea eax, [ecx + edi]
cmp eax, 1
je 0x44af32
mov eax, ebx
mov edx, 0xcccccccd
inc edi
mul edx
shr edx, 3
cmp ebx, 0xa
mov ebx, edx
jae 0x44ae10
mov ecx, 0x5054a4
call fcn.00444040
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 4]
mov edx, 0xcccccccd
shrd esi, edi, 1
shr edi, 1
mov ecx, esi
add ecx, edi
adc ecx, 0
mov eax, ecx
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
sub esi, ecx
mov ecx, 0xcccccccd
mov eax, esi
sbb edi, 0
mul ecx
imul ecx, esi, 0xcccccccc
imul esi, edi, 0xcccccccd
xor edi, edi
add ecx, edx
xor edx, edx
add esi, ecx
mov ecx, dword [esp + 0x24]
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
lea ecx, [esp + 0x50]
cmovne edi, ebx
cmovne ebx, edx
lea edx, [esp + 0x3a4]
push dword [esp + 0x3c]
push dword [esp + 0x44]
push edi
push ebx
push esi
push eax
push dword [esp + 0x30]
push dword [esp + 0x54]
push 0
jmp 0x44b025
mov ecx, dword [esp + 0x24]
mov edx, ebx
xor eax, eax
shl edx, cl
test cl, 0x20
mov edi, edx
cmovne edi, eax
mov dword [esp + 0x20], edi
xor edi, edi
shld edi, ebx, cl
test cl, 0x20
cmovne edi, edx
mov edx, esi
shl edx, cl
test cl, 0x20
mov ebx, edx
cmovne ebx, eax
shld eax, esi, cl
test cl, 0x20
lea ecx, [esp + 0x50]
cmovne eax, edx
add ebx, dword [esp + 0x1c]
lea edx, [esp + 0x3a4]
adc eax, dword [esp + 8]
push dword [esp + 0x3c]
push dword [esp + 0x44]
push edi
push dword [esp + 0x2c]
push eax
push ebx
jmp 0x44b019
mov eax, dword [esp + 0x30]
xor edx, edx
dec eax
and eax, 0x3f
mov dword [esp + 0x30], eax
mov eax, 0xffffffec
sub eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, 1
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [esp + 0x30]
mov ebx, eax
mov esi, edx
mov dword [esp + 0x20], edx
shrd ebx, edx, cl
shr edx, cl
test cl, 0x20
mov ecx, 0
cmovne ebx, edx
cmovne edx, ecx
or edx, ebx
jne 0x44b08b
mov ecx, eax
mov eax, dword [esp + 0x4c]
add eax, edi
cmp eax, 1
je 0x44bae1
mov eax, dword [esp + 0x1c]
mov edx, 0xa
mul edx
mov esi, eax
mov eax, dword [esp + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*2]
mov eax, ecx
mov ecx, 0xa
mul ecx
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*2]
mov ecx, esi
and ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, ebx
and ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
shrd esi, ebx, cl
shr ebx, cl
test cl, 0x20
cmove ebx, esi
add bl, 0x30
mov byte [esp + edi + 0x3a4], bl
inc edi
cmp dword [esp + 4], edi
jne 0x44af60
mov esi, edx
lea ecx, [esp + 0x50]
lea edx, [esp + 0x3a4]
push esi
push eax
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x18]
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x54]
push dword [esp + 0x24]
push dword [esp + 0x34]
call fcn.00444080
add esp, 0x28
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x2c]
test ecx, ecx
je 0x44b097
mov ebx, dword [esp + 0x54]
movzx eax, word [esp + 0x58]
cmp ax, word [esp + 0x18]
jg 0x44ba90
mov eax, dword [ebp + 8]
mov word [esp + 0x70], 2
test eax, eax
je 0x44b3a9
mov edx, 2
mov dword [esp + 0x74], str.0.NaNinfassertion_failed:_buf.len_____maxlen
mov dword [esp + 0x78], 2
mov word [esp + 0x7c], 0
mov dword [esp + 0x80], eax
jmp 0x44b3be
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x50], 0
mov edi, dword [esp + 0x14]
mov ecx, ebx
mov edx, 0x3f
add ecx, 0xffffffff
mov eax, edi
adc eax, 0xffffffff
bsr ecx, ecx
cmovne edx, ecx
bsr ecx, eax
xor edx, 0x1f
xor ecx, 0x1f
add edx, 0x20
test eax, eax
mov eax, dword [esp + 0x60]
cmove ecx, edx
mov edx, 0x4d104d42
sub eax, ecx
imul edx
add eax, 0x44135080
mov esi, edx
mov eax, 2
adc esi, 0x13
cmp edi, 1
sbb eax, 0
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], edi
push 0x98
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x1bc]
push 0x9c
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0xc]
mov dword [esp + 0x258], 1
mov dword [esp + 0x1b8], 1
test ax, ax
js 0x44b151
movzx edx, ax
lea ecx, [esp + 0x114]
jmp 0x44b15d
neg eax
lea ecx, [esp + 0x1b8]
movsx edx, ax
call fcn.00443f00
mov edi, dword [esp + 0x10]
test si, si
mov dword [esp + 8], esi
js 0x44b17b
movzx edx, si
lea ecx, [esp + 0x1b8]
jmp 0x44b187
neg esi
lea ecx, [esp + 0x114]
movzx edx, si
call fcn.00443ac0
mov esi, dword [esp + 0x258]
lea eax, [esp + 0x1b8]
lea ecx, [esp + 0x70]
push 0xa0
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x110], esi
mov dword [esp + 4], esi
cmp esi, 0x29
jae 0x44b20a
nop dword [eax]
test esi, esi
je 0x44b1f6
shl esi, 2
xor ecx, ecx
nop dword [eax]
mov ebx, dword [esp + esi + 0x6c]
push 0
push 0x3b9aca00
push ecx
push ebx
call fcn.004f2864
add esp, 0x10
imul ecx, eax, 0xc4653600
mov dword [esp + esi + 0x6c], eax
add ecx, ebx
add esi, 0xfffffffc
jne 0x44b1d0
add edi, 0xfffffff7
cmp edi, 9
jbe 0x44b21b
mov esi, dword [esp + 0x110]
cmp esi, 0x29
jb 0x44b1c0
mov ecx, esi
mov edx, 0x28
push 0x50646c
call fcn.00443260
mov edi, dword [edi*4 + 0x504d08]
test edi, edi
je 0x44bb20
mov esi, dword [esp + 0x110]
cmp esi, 0x29
jae 0x44b20a
test esi, esi
je 0x44b26c
shl esi, 2
xor eax, eax
nop
mov ebx, dword [esp + esi + 0x6c]
push 0
push edi
push eax
push ebx
call fcn.004f2864
add esp, 0x10
mov ecx, edi
mov dword [esp + esi + 0x6c], eax
imul ecx, eax
sub ebx, ecx
add esi, 0xfffffffc
mov eax, ebx
jne 0x44b240
mov eax, dword [esp + 0x110]
jmp 0x44b26e
xor eax, eax
mov edi, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 4]
cmp eax, edi
cmovbe eax, edi
cmp eax, 0x28
ja 0x44baf1
test eax, eax
je 0x44b2d8
xor ecx, ecx
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + edx*4 + 0x114]
movzx ecx, cl
bt ecx, 0
adc dword [esp + edx*4 + 0x70], esi
lea edx, [edx + 1]
setb cl
cmp eax, edx
jne 0x44b2a0
test cl, cl
je 0x44b2dc
mov esi, dword [esp + 4]
cmp eax, 0x28
je 0x44bb34
mov dword [esp + eax*4 + 0x70], 1
inc eax
jmp 0x44b2e0
xor eax, eax
jmp 0x44b2e0
mov esi, dword [esp + 4]
cmp eax, esi
mov dword [esp + 0x110], eax
cmovbe eax, esi
cmp eax, 0x29
jae 0x44baf1
shl eax, 2
mov ecx, 0xff
nop dword [eax]
test eax, eax
je 0x44b331
mov esi, dword [esp + eax + 0x1b4]
xor edx, edx
cmp esi, dword [esp + eax + 0x6c]
mov esi, dword [esp + 4]
setne dl
cmova edx, ecx
add eax, 0xfffffffc
test dl, dl
je 0x44b300
cmp dl, 2
jae 0x44b34b
mov edx, dword [esp + 8]
inc edx
jmp 0x44b3de
lea eax, [esp + eax + 0x1b8]
lea ecx, [esp + 0x1b8]
cmp eax, ecx
setne dl
neg dl
cmp dl, 2
jb 0x44b327
test edi, edi
je 0x44b3c7
mov ebx, edi
lea edi, [edi*4]
lea esi, [esp + 0x114]
xor ecx, ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, 0xa
mul dword [esi]
add eax, ecx
mov ecx, edx
adc ecx, 0
mov dword [esi], eax
add esi, 4
add edi, 0xfffffffc
jne 0x44b370
mov eax, dword [esp + 0x18]
test ecx, ecx
je 0x44b3cb
mov esi, dword [esp + 4]
cmp ebx, 0x28
je 0x44bb34
mov edi, ebx
mov dword [esp + ebx*4 + 0x114], ecx
inc edi
jmp 0x44b3d1
mov dword [esp + 0x74], 0x512ad5
mov dword [esp + 0x78], 1
mov edx, 1
lea eax, [esp + 0x70]
jmp 0x44baa5
xor edi, edi
jmp 0x44b3d3
mov esi, dword [esp + 4]
mov edi, ebx
mov ebx, eax
mov edx, dword [esp + 8]
mov dword [esp + 0x1b4], edi
mov al, 1
cmp dx, bx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
jl 0x44b88a
movsx eax, dx
movsx ecx, bx
sub eax, ecx
mov ecx, edx
sub ecx, ebx
mov ebx, dword [esp + 0x10]
cmp eax, ebx
movsx eax, cx
cmovae eax, ebx
test eax, eax
je 0x44b88a
lea edi, [esp + 0x300]
push 0xa0
lea ebx, [esp + 0x1bc]
mov dword [esp + 0x18], eax
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, edi
mov edx, 1
mov dword [esp + 0x3a0], esi
call fcn.00443f00
mov esi, dword [esp + 0x258]
lea edi, [esp + 0x25c]
push 0xa0
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, edi
mov edx, 2
mov dword [esp + 0x2fc], esi
call fcn.00443f00
mov esi, dword [esp + 0x258]
push 0xa0
push ebx
mov ebx, dword [esp + 0x1c]
lea edi, [esp + 0x78]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, edi
mov edx, 3
mov dword [esp + 0x110], esi
call fcn.00443f00
mov eax, dword [esp + 0x110]
mov esi, dword [esp + 0x258]
mov edi, dword [esp + 0x1b4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x24], eax
xor eax, eax
cmp edi, 0x29
jae 0x44bb48
mov edx, eax
inc eax
xor ecx, ecx
mov dword [esp + 0x1c], eax
lea eax, [edi*4]
cmp eax, ecx
je 0x44b8fb
cmp dword [esp + ecx + 0x114], 0
lea ecx, [ecx + 4]
je 0x44b4f0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], edx
cmp edi, ecx
cmova ecx, edi
cmp ecx, 0x29
jae 0x44b20c
mov ebx, esi
lea edx, [ecx*4]
nop word cs:[eax + eax]
nop
test edx, edx
je 0x44b555
mov esi, dword [esp + edx + 0x6c]
xor eax, eax
cmp esi, dword [esp + edx + 0x110]
mov esi, 0xff
setne al
cmova eax, esi
add edx, 0xfffffffc
test al, al
je 0x44b530
jmp 0x44b564
lea eax, [esp + edx + 0x70]
lea esi, [esp + 0x70]
cmp eax, esi
setne al
neg al
xor edx, edx
cmp al, 2
jae 0x44b5a3
mov al, 1
nop dword [eax]
mov esi, edx
mov edx, dword [esp + edx*4 + 0x70]
movzx eax, al
bt eax, 0
not edx
adc dword [esp + esi*4 + 0x114], edx
lea edx, [esi + 1]
setb al
cmp ecx, edx
jne 0x44b570
test al, al
je 0x44bb5b
mov dl, 8
mov edi, ecx
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x20]
mov eax, edi
mov dword [esp + 0xc], edx
cmp edi, ecx
mov edi, ecx
cmova edi, eax
cmp edi, 0x29
jae 0x44bb48
mov esi, eax
lea ecx, [edi*4]
nop word cs:[eax + eax]
test ecx, ecx
je 0x44b648
mov edx, dword [esp + ecx + 0x258]
xor eax, eax
cmp edx, dword [esp + ecx + 0x110]
mov edx, 0xff
setne al
cmova eax, edx
add ecx, 0xfffffffc
test al, al
je 0x44b5d0
cmp al, 1
ja 0x44b661
test edi, edi
je 0x44b639
xor ecx, ecx
mov al, 1
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [esp + ecx*4 + 0x25c]
movzx eax, al
bt eax, 0
not edx
adc dword [esp + ecx*4 + 0x114], edx
lea ecx, [ecx + 1]
setb al
cmp edi, ecx
jne 0x44b610
test al, al
je 0x44bb5b
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1b4], edi
or al, 4
jmp 0x44b667
lea eax, [esp + ecx + 0x25c]
lea edx, [esp + 0x25c]
cmp eax, edx
setne al
neg al
cmp al, 1
jbe 0x44b5fa
mov eax, dword [esp + 0xc]
mov edi, esi
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
cmp edi, ecx
cmova ecx, edi
cmp ecx, 0x29
jae 0x44b20c
lea esi, [ecx*4]
nop word cs:[eax + eax]
nop
test esi, esi
je 0x44b709
mov edx, dword [esp + esi + 0x2fc]
xor eax, eax
cmp edx, dword [esp + esi + 0x110]
mov edx, 0xff
setne al
cmova eax, edx
add esi, 0xfffffffc
test al, al
je 0x44b690
cmp al, 1
ja 0x44b722
test ecx, ecx
je 0x44b6f9
xor edx, edx
mov al, 1
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + edx*4 + 0x300]
movzx eax, al
bt eax, 0
not esi
adc dword [esp + edx*4 + 0x114], esi
lea edx, [edx + 1]
setb al
cmp ecx, edx
jne 0x44b6d0
test al, al
je 0x44bb5b
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1b4], ecx
add dl, 2
jmp 0x44b728
lea eax, [esp + esi + 0x300]
lea edx, [esp + 0x300]
cmp eax, edx
setne al
neg al
cmp al, 1
jbe 0x44b6ba
mov edx, dword [esp + 0xc]
mov ecx, edi
cmp ecx, ebx
mov eax, ebx
cmova eax, ecx
cmp eax, 0x29
jae 0x44baf1
mov dword [esp + 4], eax
mov esi, ebx
lea eax, [eax*4]
mov dword [esp + 0xc], edx
nop dword [eax]
test eax, eax
je 0x44b7cc
mov esi, dword [esp + eax + 0x1b4]
xor edx, edx
mov edi, 0xff
cmp esi, dword [esp + eax + 0x110]
mov esi, ebx
setne dl
cmova edx, edi
add eax, 0xfffffffc
test dl, dl
je 0x44b750
cmp dl, 1
ja 0x44b7e6
cmp dword [esp + 4], 0
je 0x44b7b9
mov edi, dword [esp + 4]
xor ecx, ecx
mov al, 1
nop dword [eax]
mov edx, dword [esp + ecx*4 + 0x1b8]
movzx eax, al
bt eax, 0
not edx
adc dword [esp + ecx*4 + 0x114], edx
lea ecx, [ecx + 1]
setb al
cmp edi, ecx
jne 0x44b790
test al, al
je 0x44bb5b
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
inc cl
mov dword [esp + 0x1b4], eax
jmp 0x44b7ee
lea eax, [esp + eax + 0x1b8]
lea edx, [esp + 0x1b8]
cmp eax, edx
setne dl
neg dl
cmp dl, 1
jbe 0x44b77d
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
cmp eax, edx
je 0x44bb7b
add cl, 0x30
mov byte [esp + eax + 0x3a4], cl
mov eax, dword [esp + 4]
test eax, eax
je 0x44b85d
lea edi, [eax*4]
xor ecx, ecx
lea esi, [esp + 0x114]
mov eax, 0xa
mul dword [esi]
add eax, ecx
mov ecx, edx
adc ecx, 0
mov dword [esi], eax
add esi, 4
add edi, 0xfffffffc
jne 0x44b820
mov eax, dword [esp + 0x1c]
test ecx, ecx
mov esi, ebx
je 0x44b869
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x14]
cmp edi, 0x28
je 0x44bb34
mov dword [esp + edi*4 + 0x114], ecx
inc edi
jmp 0x44b871
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
xor edi, edi
jmp 0x44b871
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 4]
cmp eax, ebx
mov dword [esp + 0x1b4], edi
jne 0x44b4d7
mov dword [esp + 0xc], 0
jmp 0x44b88c
xor ebx, ebx
lea edx, [esp + 0x1b8]
cmp esi, 0x29
mov dword [esp + 4], edi
jae 0x44b20a
test esi, esi
je 0x44b92b
lea edi, [esi*4]
xor ecx, ecx
mov dword [esp + 0x14], ebx
nop word cs:[eax + eax]
nop
mov eax, 5
mov ebx, edx
mul dword [edx]
add eax, ecx
mov ecx, edx
mov dword [ebx], eax
lea ebx, [ebx + 4]
adc ecx, 0
add edi, 0xfffffffc
mov edx, ebx
jne 0x44b8c0
mov eax, dword [esp + 4]
test ecx, ecx
je 0x44b8f5
cmp esi, 0x28
je 0x44bb34
mov dword [esp + esi*4 + 0x1b8], ecx
inc esi
mov ebx, dword [esp + 0x14]
jmp 0x44b931
mov ecx, edx
mov edx, dword [esp + 0x10]
cmp ebx, edx
ja 0x44bb6f
mov eax, ebx
sub eax, ecx
je 0x44ba7a
lea ecx, [esp + ecx + 0x3a4]
push eax
push 0x30
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x44ba7a
mov eax, dword [esp + 4]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x258], esi
cmova esi, eax
cmp esi, 0x29
jae 0x44b20a
shl esi, 2
mov ecx, 0xff
nop
test esi, esi
je 0x44b9d9
mov edx, dword [esp + esi + 0x1b4]
xor eax, eax
cmp edx, dword [esp + esi + 0x110]
setne al
cmova eax, ecx
add esi, 0xfffffffc
test al, al
je 0x44b950
test al, al
je 0x44b9f2
movzx eax, al
cmp eax, 1
jne 0x44ba6e
cmp ebx, dword [esp + 0x10]
ja 0x44bb87
mov eax, 0xffffffff
mov edx, ebx
nop word cs:[eax + eax]
test edx, edx
je 0x44b9ff
mov ecx, edx
inc eax
dec edx
cmp byte [esp + ecx + 0x3a3], 0x39
je 0x44b9a0
inc byte [esp + edx + 0x3a4]
cmp ecx, ebx
jae 0x44ba6e
lea ecx, [esp + ecx + 0x3a4]
push eax
push 0x30
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x44ba6e
lea eax, [esp + esi + 0x1b8]
lea ecx, [esp + 0x1b8]
cmp eax, ecx
setne al
neg al
test al, al
jne 0x44b979
xor eax, eax
cmp byte [esp + 0xc], 0
je 0x44ba53
mov ebx, eax
jmp 0x44ba7a
cmp byte [esp + 0xc], 0
mov esi, ebx
mov bl, 0x31
jne 0x44ba2f
mov bl, 0x30
cmp esi, 1
mov byte [esp + 0x3a4], 0x31
je 0x44ba2f
lea ecx, [esi - 1]
lea eax, [esp + 0x3a5]
push ecx
push 0x30
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, dword [esp + 8]
cmp cx, word [esp + 0x18]
lea eax, [ecx + 1]
jl 0x44ba4b
cmp esi, dword [esp + 0x10]
jae 0x44ba4b
mov byte [esp + esi + 0x3a4], bl
inc esi
mov dword [esp + 8], eax
mov ebx, esi
jmp 0x44ba6e
lea ecx, [ebx - 1]
cmp ecx, dword [esp + 0x10]
jae 0x44bb97
test byte [esp + ecx + 0x3a4], 1
jne 0x44b985
mov edx, dword [esp + 0x10]
cmp ebx, edx
ja 0x44bb4f
mov eax, dword [esp + 8]
lea ecx, [esp + 0x3a4]
cmp ax, word [esp + 0x18]
jle 0x44b051
mov esi, eax
lea eax, [esp + 0x70]
mov edx, ebx
push eax
push dword [ebp + 8]
push esi
call fcn.00444230
add esp, 0xc
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x25c], edi
mov dword [esp + 0x260], esi
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], edx
lea edx, [esp + 0x25c]
call fcn.0044a5d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0x5054b4
call fcn.00442900
mov ecx, eax
jmp 0x44b20c
mov ecx, 0x505561
mov edx, 0x25
push 0x505588
call fcn.004434c0
mov ecx, 0x504e37
mov edx, 0x1c
push 0x50546c
call fcn.004434c0
mov ecx, 0x5064b3
mov edx, 0x1b
push 0x50646c
call fcn.004434c0
mov ecx, 0x28
mov edx, 0x28
push 0x50646c
call fcn.00442900
mov ecx, edi
jmp 0x44b20c
mov ecx, ebx
push 0x504ea4
call fcn.00443260
mov ecx, str.assertion_failed:_noborrowassertion_failed:_digits___40assertion_failed:_other___0
mov edx, 0x1a
push 0x50646c
call fcn.004434c0
mov ecx, ebx
push 0x504ec4
call fcn.00443260
mov ecx, edx
push 0x504eb4
call fcn.00442900
mov edx, dword [esp + 0x10]
mov ecx, ebx
push 0x504e94
call fcn.00443260
mov edx, dword [esp + 0x10]
push 0x504e84
call fcn.00442900
nop word cs:[eax + eax]
nop
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5c0
mov dword [esp], edx
mov dword [esp + 0x60], ecx
movsd qword [esp + 0x90], xmm0
mov esi, 0x100000
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
lea ebx, [esi - 1]
mov ecx, edx
mov eax, edx
and ebx, edx
shr ecx, 0x14
shld eax, edi, 1
and ecx, 0x7ff
and eax, 0x1fffff
mov dword [esp + 0x2c], ecx
test ecx, ecx
lea ecx, [ebx + 0x100000]
cmove ecx, eax
mov dword [esp + 0x38], ecx
lea ecx, [edi + edi]
cmovne ecx, edi
ucomisd xmm0, xmm0
jp 0x44bcd7
mov dword [esp + 0x44], ecx
and ecx, 1
or ebx, edi
je 0x44bc3d
test edx, 0x7ff00000
jne 0x44bc67
add dword [esp + 0x2c], 0xfffffbcd
jmp 0x44bcab
mov eax, edx
mov dword [esp + 0x64], 2
and eax, 0x7fffffff
mov ebx, eax
xor ebx, 0x7ff00000
or ebx, edi
je 0x44bd12
or edi, eax
jne 0x44bc67
mov al, 4
jmp 0x44bd14
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
xor esi, edi
movzx eax, ax
or esi, ebx
jne 0x44bc94
add eax, 0xfffffbcb
mov dword [esp + 0x64], 1
mov dword [esp + 0x2c], eax
mov al, 1
jmp 0x44bd18
shld edi, ebx, 1
add ebx, ebx
add eax, 0xfffffbcc
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x2c], eax
xor cl, 1
mov ebx, ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x44]
or bl, 0xfe
je 0x44bcd7
mov dword [esp + 0x68], 0
mov dword [esp + 0x5c], 1
mov dword [esp + 0x64], 1
jmp 0x44bd3b
mov word [esp + 0x98], 2
mov dword [esp + 0x9c], 0x50555b
mov dword [esp + 0xa0], 3
mov dword [esp + 0x78], 1
lea eax, [esp + 0x98]
xor esi, esi
mov edx, 1
jmp 0x44d394
mov al, 3
mov dword [esp + 0x2c], ecx
mov ebx, eax
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x38], 0x400000
mov dword [esp + 0x68], 0
mov dword [esp + 0x5c], 2
add bl, 0xfe
movzx eax, bl
cmp bl, 3
mov ebx, 3
mov esi, edx
mov edi, 0x50555a
cmovb ebx, eax
shr esi, 0x1f
test edx, edx
mov eax, 0x5138c8
mov edx, 1
cmovs edx, eax
cmovs edi, eax
cmp byte [esp], 0
cmove edi, edx
mov edx, 1
cmovne esi, edx
cmp bl, 1
mov dword [esp + 0x78], edi
je 0x44bda7
movzx eax, bl
cmp eax, 2
jne 0x44bdd3
mov word [esp + 0x98], 2
mov dword [esp + 0x9c], 0x512ad5
mov dword [esp + 0xa0], 1
jmp 0x44bdc7
mov word [esp + 0x98], 2
mov dword [esp + 0x9c], 0x50555e
mov dword [esp + 0xa0], 3
lea eax, [esp + 0x98]
jmp 0x44d394
mov edx, dword [esp + 0x38]
mov eax, ecx
mov dword [esp + 0x58], esi
or eax, edx
je 0x44d492
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], ecx
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x38], edx
add eax, ecx
mov ecx, dword [esp + 0x68]
lea esi, [edi - 0x20]
mov ebx, eax
adc ecx, edx
test ecx, ecx
cmove ebx, ecx
cmove ecx, eax
cmovne esi, edi
mov eax, ecx
mov edx, ebx
lea edi, [esi - 0x10]
shld eax, ebx, 0x10
shl edx, 0x10
test ecx, 0xffff0000
cmovne eax, ecx
cmovne edx, ebx
cmovne edi, esi
mov ecx, eax
mov esi, edx
lea ebx, [edi - 8]
shld ecx, edx, 8
shl esi, 8
test eax, 0xff000000
cmovne esi, edx
cmovne ecx, eax
cmovne ebx, edi
mov eax, ecx
mov edx, esi
lea edi, [ebx - 4]
shld eax, esi, 4
shl edx, 4
test ecx, 0xf0000000
cmovne eax, ecx
cmovne edi, ebx
cmovne edx, esi
mov ebx, eax
lea esi, [edi - 2]
shld ebx, edx, 2
test eax, 0xc0000000
cmovne esi, edi
lea edi, [edx*4]
cmovne ebx, eax
mov eax, dword [esp + 0x38]
cmovne edi, edx
xor ecx, ecx
test ebx, ebx
mov edx, dword [esp + 0x44]
setns cl
sub esi, ecx
shld ebx, edi, cl
shl edi, cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], esi
add edx, 0xffffffff
adc eax, 0xffffffff
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], eax
mov word [esp + 0x1e8], cx
sub cx, si
js 0x44d4a6
and ecx, 0x3f
mov esi, eax
mov dword [esp], edx
mov dword [esp + 8], eax
shld esi, edx, cl
shl edx, cl
test cl, 0x20
cmovne esi, edx
xor eax, eax
mov edi, esi
mov dword [esp + 0x20], esi
shr edi, cl
test cl, 0x20
mov ebx, edi
cmovne edx, eax
cmovne ebx, eax
mov dword [esp + 4], edx
shrd edx, esi, cl
test cl, 0x20
cmovne edx, edi
mov dword [esp + 0x474], ebx
xor ebx, dword [esp + 8]
mov dword [esp + 0x470], edx
xor edx, dword [esp]
or ebx, edx
jne 0x44d46c
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov edi, ebx
shld edx, ebx, cl
mov dword [esp + 0x1e0], ebx
shl edi, cl
test cl, 0x20
cmovne edx, edi
mov esi, edx
mov dword [esp + 0x34], edx
shr esi, cl
test cl, 0x20
cmovne edi, eax
cmove eax, esi
mov dword [esp + 8], edi
shrd edi, edx, cl
mov edx, dword [esp + 0x38]
test cl, 0x20
mov dword [esp + 0x474], eax
cmovne edi, esi
mov dword [esp + 0x470], edi
xor edi, ebx
xor eax, edx
mov dword [esp + 0x1e4], edx
or eax, edi
mov eax, dword [esp + 0x2c]
mov word [esp + 0x1e8], ax
jne 0x44d46c
mov eax, 0xffffffa0
mov ecx, 0x7b4dc993
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
sub eax, dword [esp + 0xc]
cwde
lea eax, [eax + eax*4]
shl eax, 4
add eax, 0x153b0
mul ecx
shr edx, 6
and edx, 0xfffffff0
mov esi, dword [edx + 0x504edc]
mov ecx, edx
mov dword [esp], edx
mov eax, esi
mov dword [esp + 0x40], esi
mul edi
mov dword [esp + 0x24], eax
mov eax, esi
mov esi, dword [ecx + 0x504ed8]
mov dword [esp + 0x18], edx
mul ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], edx
mov eax, esi
mov dword [esp + 0x3c], esi
mul edi
mov edi, dword [esp + 0x20]
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], edx
mul ebx
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x40]
setb al
add edx, dword [esp + 0x30]
mov ebx, ecx
adc eax, 0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x48], eax
mov eax, ecx
mul edi
mov dword [esp + 0x30], eax
mov eax, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x14], edx
mul ecx
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x54], edx
mul edi
mov edi, eax
mov eax, esi
mov dword [esp + 0x20], edx
mov esi, ebx
mov esi, dword [esp + 0x3c]
mul ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp]
add cx, word [eax + 0x504ee0]
xor eax, eax
neg ecx
add edx, edi
setb al
add edx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
adc eax, 0
add edx, 0x80000000
adc eax, 0
mov dword [esp + 0x50], eax
mov eax, ebx
mul ecx
mov dword [esp + 4], eax
mov eax, ebx
mov ebx, dword [esp + 8]
mov edi, edx
mul ebx
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x40], edx
mul ecx
mov dword [esp + 0x34], eax
mov eax, esi
mov ecx, edx
mov esi, dword [esp + 0x18]
mul ebx
xor eax, eax
add edx, dword [esp + 0x34]
setb al
add edx, dword [esp + 0x28]
adc eax, 0
add ecx, dword [esp + 4]
adc edi, 0
add ecx, dword [esp + 0x40]
adc edi, 0
add edx, 0x80000000
mov edx, dword [esp + 0x10]
adc ecx, eax
adc edi, 0
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], edi
mov edi, 1
add edx, dword [esp + 0x24]
adc esi, 0
add edx, dword [esp + 0x4c]
adc esi, 0
add dword [esp + 0x1c], 0x80000000
adc edx, dword [esp + 0x48]
adc esi, 0
add edx, 1
adc esi, 0
and ecx, 0x3f
xor eax, eax
mov dword [esp + 0x10], edx
shld eax, edi, cl
shl edi, cl
shrd edx, esi, cl
mov dword [esp + 0x18], esi
shr esi, cl
test cl, 0x20
mov dword [esp + 0xc], ecx
mov ecx, 0
mov ebx, edi
cmovne eax, edi
cmove esi, edx
cmovne ebx, ecx
mov ecx, dword [esp]
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], ebx
movzx edi, word [ecx + 0x504ee2]
mov ecx, ebx
add ecx, 0xffffffff
adc eax, 0xffffffff
cmp esi, 0x2710
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], eax
jae 0x44c179
cmp esi, 0x64
jae 0x44c1a4
xor ecx, ecx
cmp esi, 0xa
setae cl
lea eax, [ecx + ecx*8 + 1]
mov dword [esp + 4], eax
jmp 0x44c1c1
cmp esi, 0xf4240
jae 0x44c625
cmp esi, 0x186a0
mov edx, 0x2710
mov eax, 0x186a0
cmovb eax, edx
setb cl
mov dword [esp + 4], eax
xor cl, 5
jmp 0x44c1c1
cmp esi, 0x3e8
mov edx, 0x64
mov eax, 0x3e8
cmovb eax, edx
setb cl
mov dword [esp + 4], eax
xor cl, 3
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
movzx ecx, cl
mov esi, dword [esp + 0x4c]
mov eax, ebx
mov dword [esp + 0x48], ecx
sub ecx, edi
mov edi, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x30]
and eax, esi
mov dword [esp + 8], eax
mov eax, edx
and eax, edi
mov dword [esp], eax
add ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
adc eax, 0
add ecx, dword [esp + 0x54]
adc eax, 0
add ecx, dword [esp + 0x50]
adc eax, 0
sub edx, ecx
sbb ebx, eax
mov dword [esp + 0x50], edx
add edx, 1
mov eax, ebx
mov ecx, edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x34], edx
adc eax, 0
and ecx, edi
xor ebx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], eax
and eax, esi
mov dword [esp + 0x14], eax
nop dword [eax + eax]
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 4], ecx
xor edi, edi
div ecx
mov ecx, dword [esp + 0xc]
mov esi, edx
add al, 0x30
mov dword [esp + 0x1c], edx
mov byte [esp + ebx + 0x7f], al
shld edi, edx, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne edi, esi
cmovne esi, ecx
add esi, dword [esp]
adc edi, dword [esp + 8]
cmp esi, dword [esp + 0x34]
mov ecx, edi
sbb ecx, dword [esp + 0x30]
jb 0x44c2b0
cmp dword [esp + 0x48], ebx
je 0x44c412
mov ecx, dword [esp + 4]
mov edx, 0xcccccccd
inc ebx
mov eax, ecx
mul edx
shr edx, 3
cmp ecx, 0xa
mov ecx, edx
jae 0x44c240
mov ecx, 0x505428
call fcn.00444040
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
xor edx, edx
shld edx, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne edx, ebx
cmovne ebx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 4], ebx
sub ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
sbb ecx, dword [esp + 0x74]
add edx, 1
mov dword [esp + 0x24], edx
mov edx, ecx
adc edx, 0
add dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
adc ecx, 0xffffffff
sub edx, esi
mov dword [esp + 0x18], ecx
mov dword [esp], edx
mov edx, dword [esp + 0x30]
sbb edx, edi
cmp dword [esp], ebx
mov dword [esp + 8], edx
sbb edx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
setb bl
cmp esi, edx
mov edx, edi
sbb edx, ecx
mov dword [esp + 0xc], ebx
jae 0x44c667
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x14]
cmp dword [esp], ecx
sbb dword [esp + 8], ebx
jb 0x44c6a3
mov dword [esp + 8], esi
mov dword [esp], edi
nop word [eax + eax]
mov edx, dword [esp + 8]
add edx, ecx
mov ecx, dword [esp]
mov dword [esp + 8], edx
adc ecx, ebx
cmp edx, dword [esp + 0x10]
mov ebx, ecx
mov edx, ecx
mov ecx, dword [esp + 4]
mov dword [esp], edx
sbb ebx, dword [esp + 0x18]
jb 0x44c3b6
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp]
sub ecx, esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 8]
sbb edx, edi
sub ecx, dword [esp + 0x10]
sbb ebx, dword [esp + 0x18]
cmp dword [esp + 0xc], ecx
mov ecx, dword [esp + 4]
sbb edx, ebx
mov edx, dword [esp]
jb 0x44c697
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x30]
dec al
sub ebx, edi
sbb esi, edx
mov edx, dword [esp + 0x14]
cmp ebx, ecx
mov ecx, esi
sbb ecx, edx
setb cl
cmp edi, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp]
sbb ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x7f], al
jae 0x44c732
mov ecx, edi
mov edi, dword [esp + 4]
cmp ebx, edi
mov ebx, edi
mov edi, dword [esp]
sbb esi, edx
mov esi, ecx
mov ecx, ebx
mov ebx, edx
jae 0x44c360
jmp 0x44c6aa
xor esi, esi
mov eax, ebx
mov dword [esp + 4], 1
nop
mov ecx, dword [esp + 4]
cmp eax, 0x10
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
je 0x44d458
mov eax, dword [esp]
mov esi, 0xa
mov dword [esp + 0x48], ecx
mul esi
mov edi, eax
mov eax, dword [esp + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*2]
mov eax, ecx
mov ecx, dword [esp + 0x14]
mul esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
lea ecx, [ecx + ecx*4]
mul esi
mov esi, edi
lea ecx, [edx + ecx*2]
mov edx, ebx
and esi, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
and edx, dword [esp + 0x4c]
mov dword [esp], esi
shrd edi, ebx, cl
shr ebx, cl
test cl, 0x20
mov dword [esp + 8], edx
cmove ebx, edi
mov edi, dword [esp + 0x30]
mov ecx, ebx
add cl, 0x30
cmp esi, eax
mov eax, edx
mov edx, dword [esp + 0x14]
mov byte [esp + edi + 0x80], cl
sbb eax, edx
mov eax, dword [esp + 0x34]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
lea esi, [eax + edx*2]
lea eax, [edi + 1]
jae 0x44c420
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 4]
mov dword [esp + 0x50], edx
sub ecx, dword [esp + 0x70]
sbb edi, dword [esp + 0x74]
mul ecx
imul ecx, esi
mov dword [esp + 0x18], eax
mov eax, edx
mov edx, dword [esp + 4]
imul edi, edx
add edi, eax
add ecx, edi
mov edi, dword [esp + 0x18]
mov eax, edi
add eax, edx
mov dword [esp + 0x54], eax
mov eax, ecx
adc eax, esi
sub edi, edx
mov edx, dword [esp + 0x20]
sbb ecx, esi
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
sub edx, dword [esp]
sbb esi, edi
cmp edx, dword [esp + 0x3c]
sbb esi, eax
setb dl
mov dword [esp + 0x24], edx
jb 0x44c657
mov edx, dword [esp + 0x18]
mov esi, edi
mov dword [esp + 0x10], ecx
cmp dword [esp], edx
sbb esi, ecx
jae 0x44c657
mov esi, dword [esp]
mov ecx, edx
add bl, 0x2f
mov dword [esp + 4], esi
mov esi, dword [esp + 0x3c]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, edi
mov edi, dword [esp + 4]
add edi, esi
adc edx, eax
cmp edi, ecx
mov ecx, esi
mov dword [esp + 4], edi
mov dword [esp + 0xc], edx
sbb edx, dword [esp + 0x10]
jb 0x44c5be
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov edi, dword [esp + 4]
mov edx, ecx
sub edx, dword [esp]
sbb esi, eax
sub edi, ecx
mov ecx, dword [esp + 0xc]
sbb ecx, dword [esp + 0x10]
cmp edx, edi
mov edx, dword [esp]
sbb esi, ecx
mov ecx, dword [esp + 0x3c]
jb 0x44c73d
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov edx, ecx
sub esi, dword [esp + 4]
sbb edi, dword [esp + 0xc]
cmp esi, ecx
mov ecx, edi
sbb ecx, eax
setb cl
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
sbb ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x7f], bl
jae 0x44c74f
mov ecx, dword [esp + 4]
dec bl
cmp esi, edx
mov esi, edx
sbb edi, eax
mov edi, dword [esp + 0xc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 8], edi
jae 0x44c570
jmp 0x44c755
mov ebx, dword [esp + 0x18]
cmp esi, 0x5f5e100
jae 0x44c671
cmp esi, 0x989680
mov edx, 0xf4240
mov eax, 0x989680
cmovb eax, edx
mov edx, dword [esp + 0x10]
setb cl
mov dword [esp + 4], eax
xor cl, 7
jmp 0x44c1c9
mov eax, dword [esp]
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], eax
jmp 0x44c755
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x14]
jmp 0x44c6a3
cmp esi, 0x3b9aca00
mov edx, 0x5f5e100
mov eax, 0x3b9aca00
cmovb eax, edx
mov edx, dword [esp + 0x10]
setb cl
mov dword [esp + 4], eax
xor cl, 9
jmp 0x44c1c9
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp], edi
mov edx, dword [esp + 0x24]
mov eax, dword [esp]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
cmp dword [esp + 8], edx
sbb eax, dword [esp + 0x20]
jae 0x44c700
cmp byte [esp + 0xc], 0
jne 0x44c700
add ecx, dword [esp + 8]
adc ebx, dword [esp]
cmp ecx, edx
mov eax, ebx
sbb eax, dword [esp + 0x20]
jb 0x44c808
mov eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x20]
sub eax, dword [esp + 8]
sbb ecx, dword [esp]
sub edx, dword [esp + 0x24]
sbb ebx, dword [esp + 0x20]
cmp eax, edx
sbb ecx, ebx
jae 0x44c808
add edi, 0xfffffffd
mov eax, dword [esp]
adc esi, 0xffffffff
cmp dword [esp + 8], 2
sbb eax, 0
jb 0x44c808
cmp edi, dword [esp + 8]
sbb esi, dword [esp]
jb 0x44c808
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x58]
inc edx
jmp 0x44d37a
mov ecx, dword [esp + 4]
mov ebx, edx
jmp 0x44c6aa
mov dword [esp + 0x24], 0
mov dword [esp + 4], edx
mov edi, eax
mov esi, ecx
jmp 0x44c755
mov edi, dword [esp + 0xc]
mov esi, edx
mov ecx, esi
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x4c]
mov eax, edi
cmp esi, edx
sbb eax, ebx
jae 0x44c7bd
cmp byte [esp + 0x24], 0
jne 0x44c7bd
add ecx, esi
mov dword [esp + 4], esi
mov esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x40]
adc ebx, esi
cmp ecx, edx
mov eax, ebx
sbb eax, edi
jb 0x44c808
mov edi, edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
sub edi, dword [esp + 4]
mov esi, eax
sbb esi, dword [esp + 0xc]
sub ecx, edx
mov edx, 0x14
sbb ebx, eax
mov eax, dword [esp + 0x48]
mul edx
cmp edi, ecx
mov edi, dword [esp + 0xc]
sbb esi, ebx
mov esi, dword [esp + 4]
jb 0x44c7c8
jmp 0x44c808
mov eax, dword [esp + 0x48]
mov ecx, 0x14
mul ecx
mov ecx, dword [esp + 0x50]
cmp esi, eax
mov eax, edi
lea ecx, [edx + ecx*4]
sbb eax, ecx
jb 0x44c808
mov ebx, edi
mov edi, esi
mov esi, dword [esp + 0x48]
mov ecx, 0xffffffd8
mov eax, esi
mul ecx
mov ecx, dword [esp + 0x34]
sub edx, esi
shl ecx, 3
lea ecx, [ecx + ecx*4]
sub edx, ecx
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x14]
cmp eax, edi
sbb edx, ebx
jae 0x44cb66
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov edx, 0x3f
add ecx, ebx
adc esi, edi
add ecx, 0xffffffff
adc esi, 0xffffffff
bsr eax, esi
xor eax, 0x1f
bsr ecx, ecx
cmovne edx, ecx
mov ecx, 0x4d104d42
xor edx, 0x1f
add edx, 0x20
test esi, esi
mov esi, dword [esp + 0x2c]
cmovne edx, eax
movsx eax, si
sub eax, edx
imul ecx
add eax, 0x44135080
mov eax, 2
adc edx, 0x13
cmp edi, 1
sbb eax, 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], edi
lea eax, [esp + 0x144]
push 0x98
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x3c8], 1
mov dword [esp + 0x328], 1
lea eax, [esp + 0x32c]
push 0x9c
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x3cc], eax
lea eax, [esp + 0x3d0]
push 0x9c
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x288]
push 0x9c
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test si, si
mov dword [esp + 0x324], 1
mov dword [esp + 0x284], 1
js 0x44c947
movzx esi, si
lea ecx, [esp + 0x13c]
mov edx, esi
call fcn.00443f00
lea ecx, [esp + 0x328]
mov edx, esi
call fcn.00443f00
lea ecx, [esp + 0x3cc]
mov edx, esi
jmp 0x44c953
neg esi
lea ecx, [esp + 0x284]
movsx edx, si
call fcn.00443f00
mov eax, dword [esp + 0x28]
test ax, ax
js 0x44c96d
movzx edx, ax
lea ecx, [esp + 0x284]
jmp 0x44c997
neg eax
lea ecx, [esp + 0x13c]
movzx esi, ax
mov edx, esi
call fcn.00443ac0
lea ecx, [esp + 0x328]
mov edx, esi
call fcn.00443ac0
lea ecx, [esp + 0x3cc]
mov edx, esi
call fcn.00443ac0
mov ebx, dword [esp + 0x1dc]
lea edi, [esp + 0x13c]
lea eax, [esp + 0x98]
push 0xa0
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x46c]
mov dword [esp + 0x138], ebx
cmp ebx, ecx
mov dword [esp + 8], ecx
cmova ecx, ebx
cmp ecx, 0x28
ja 0x44d435
test ecx, ecx
je 0x44ca2a
xor eax, eax
xor edx, edx
nop dword [eax + eax]
mov esi, dword [esp + edx*4 + 0x3cc]
movzx eax, al
bt eax, 0
adc dword [esp + edx*4 + 0x98], esi
lea edx, [edx + 1]
setb al
cmp ecx, edx
jne 0x44c9f0
test al, al
je 0x44ca2c
cmp ecx, 0x28
je 0x44d407
mov dword [esp + ecx*4 + 0x98], 1
inc ecx
jmp 0x44ca2c
xor ecx, ecx
mov eax, dword [esp + 0x324]
mov dword [esp + 0x138], ecx
cmp eax, ecx
mov dword [esp], eax
cmova ecx, eax
cmp ecx, 0x29
jae 0x44d435
shl ecx, 2
mov eax, 0xff
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x44ca95
mov esi, dword [esp + ecx + 0x94]
xor edx, edx
cmp esi, dword [esp + ecx + 0x280]
setne dl
cmova edx, eax
add ecx, 0xfffffffc
test dl, dl
je 0x44ca60
cmp dl, byte [esp + 0x6c]
jge 0x44cab0
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
jmp 0x44cbd6
lea eax, [esp + ecx + 0x98]
lea edx, [esp + 0x98]
cmp eax, edx
setne dl
neg dl
cmp dl, byte [esp + 0x6c]
jl 0x44ca87
test ebx, ebx
je 0x44caef
lea esi, [ebx*4]
xor ecx, ecx
nop dword [eax]
mov eax, 0xa
mul dword [edi]
add eax, ecx
mov ecx, edx
adc ecx, 0
mov dword [edi], eax
add edi, 4
add esi, 0xfffffffc
jne 0x44cac0
test ecx, ecx
je 0x44caf1
cmp ebx, 0x28
je 0x44d407
mov dword [esp + ebx*4 + 0x13c], ecx
inc ebx
jmp 0x44caf1
xor ebx, ebx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x1dc], ebx
cmp ecx, 0x29
jae 0x44d435
xor edx, edx
test ecx, ecx
mov eax, 0
je 0x44cb7a
lea edi, [ecx*4]
lea esi, [esp + 0x328]
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
mov eax, 0xa
mul dword [esi]
add eax, ebx
mov ebx, edx
adc ebx, 0
mov dword [esi], eax
add esi, 4
add edi, 0xfffffffc
jne 0x44cb30
test ebx, ebx
je 0x44cb76
cmp ecx, 0x28
mov edx, 0
je 0x44d407
mov dword [esp + ecx*4 + 0x328], ebx
inc ecx
mov eax, ecx
jmp 0x44cb7a
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x58]
add edx, 2
jmp 0x44d37a
mov eax, ecx
xor edx, edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x3c8], eax
test ebx, ebx
je 0x44cbcf
lea edi, [ebx*4]
lea esi, [esp + 0x3cc]
xor ecx, ecx
nop dword [eax]
mov eax, 0xa
mul dword [esi]
add eax, ecx
mov ecx, edx
adc ecx, 0
mov dword [esi], eax
add esi, 4
add edi, 0xfffffffc
jne 0x44cba0
test ecx, ecx
je 0x44cbcd
cmp ebx, 0x28
je 0x44d407
mov dword [esp + ebx*4 + 0x3cc], ecx
inc ebx
mov edx, ebx
mov dword [esp + 0x46c], edx
lea edi, [esp + 0x284]
lea esi, [esp + 0x518]
push 0xa0
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov ecx, esi
mov edx, 1
mov dword [esp + 0x5b8], eax
call fcn.00443f00
mov esi, dword [esp + 0x324]
lea ebx, [esp + 0x470]
push 0xa0
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, ebx
mov edx, 2
mov dword [esp + 0x510], esi
call fcn.00443f00
mov esi, dword [esp + 0x324]
lea ebx, [esp + 0x1e0]
push 0xa0
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, ebx
mov edx, 3
mov dword [esp + 0x280], esi
call fcn.00443f00
mov ecx, dword [esp + 0x280]
mov edi, dword [esp + 0x1dc]
cmp edi, ecx
mov dword [esp + 0x20], ecx
cmova ecx, edi
cmp ecx, 0x28
ja 0x44d435
mov eax, dword [esp + 0x510]
mov esi, dword [esp + 0x5b8]
mov edx, dword [esp + 0x324]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 4], edx
jmp 0x44ccdb
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x46c], eax
cmp edi, ecx
cmova ecx, edi
cmp ecx, 0x28
ja 0x44d435
mov ebx, dword [esp + 0x1c]
lea eax, [ecx*4]
nop word cs:[eax + eax]
test eax, eax
je 0x44cd70
mov esi, dword [esp + eax + 0x1dc]
xor edx, edx
cmp esi, dword [esp + eax + 0x138]
mov esi, 0xff
setne dl
cmova edx, esi
add eax, 0xfffffffc
test dl, dl
je 0x44ccf0
cmp dl, 1
ja 0x44cd8a
test ecx, ecx
je 0x44cd59
xor edx, edx
mov al, 1
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + edx*4 + 0x1e0]
movzx eax, al
bt eax, 0
not esi
adc dword [esp + edx*4 + 0x13c], esi
lea edx, [edx + 1]
setb al
cmp ecx, edx
jne 0x44cd30
test al, al
je 0x44d41b
mov dl, 8
mov dword [esp + 0x1dc], ecx
jmp 0x44cd8e
lea eax, [esp + eax + 0x1e0]
lea edx, [esp + 0x1e0]
cmp eax, edx
setne dl
neg dl
cmp dl, 1
jbe 0x44cd1b
xor edx, edx
mov ecx, edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
cmp ecx, eax
cmova eax, ecx
cmp eax, 0x29
jae 0x44d42f
lea esi, [eax*4]
nop dword [eax + eax]
test esi, esi
je 0x44ce30
mov edi, dword [esp + esi + 0x46c]
xor ebx, ebx
cmp edi, dword [esp + esi + 0x138]
mov edi, 0xff
setne bl
cmova ebx, edi
add esi, 0xfffffffc
test bl, bl
je 0x44cdb0
cmp bl, 1
ja 0x44ce4a
test eax, eax
je 0x44ce19
xor esi, esi
mov cl, 1
nop word cs:[eax + eax]
nop dword [eax]
mov edi, dword [esp + esi*4 + 0x470]
movzx ecx, cl
bt ecx, 0
not edi
adc dword [esp + esi*4 + 0x13c], edi
lea esi, [esi + 1]
setb cl
cmp eax, esi
jne 0x44cdf0
test cl, cl
je 0x44d41b
or dl, 4
mov dword [esp + 0x1dc], eax
jmp 0x44ce4c
lea esi, [esp + esi + 0x470]
lea edi, [esp + 0x470]
cmp esi, edi
setne bl
neg bl
cmp bl, 1
jbe 0x44cddb
mov eax, ecx
mov ecx, dword [esp + 0xc]
cmp eax, ecx
cmova ecx, eax
cmp ecx, 0x29
jae 0x44d435
lea esi, [ecx*4]
nop word cs:[eax + eax]
nop
test esi, esi
je 0x44cef0
mov edi, dword [esp + esi + 0x514]
xor ebx, ebx
cmp edi, dword [esp + esi + 0x138]
mov edi, 0xff
setne bl
cmova ebx, edi
add esi, 0xfffffffc
test bl, bl
je 0x44ce70
cmp bl, 1
ja 0x44cf0a
test ecx, ecx
je 0x44ced9
xor esi, esi
mov al, 1
nop word cs:[eax + eax]
nop dword [eax]
mov edi, dword [esp + esi*4 + 0x518]
movzx eax, al
bt eax, 0
not edi
adc dword [esp + esi*4 + 0x13c], edi
lea esi, [esi + 1]
setb al
cmp ecx, esi
jne 0x44ceb0
test al, al
je 0x44d41b
add dl, 2
mov dword [esp + 0x1dc], ecx
jmp 0x44cf0c
lea esi, [esp + esi + 0x518]
lea edi, [esp + 0x518]
cmp esi, edi
setne bl
neg bl
cmp bl, 1
jbe 0x44ce9b
mov ecx, eax
mov esi, dword [esp + 4]
cmp ecx, esi
cmova esi, ecx
cmp esi, 0x29
jae 0x44d433
lea eax, [esi*4]
nop word cs:[eax + eax]
nop
test eax, eax
je 0x44cfb0
mov edi, dword [esp + eax + 0x280]
xor ebx, ebx
cmp edi, dword [esp + eax + 0x138]
mov edi, 0xff
setne bl
cmova ebx, edi
add eax, 0xfffffffc
test bl, bl
je 0x44cf30
cmp bl, 1
ja 0x44cfca
mov ebx, dword [esp + 0x14]
test esi, esi
je 0x44cf99
xor ecx, ecx
mov al, 1
nop word [eax + eax]
mov edi, dword [esp + ecx*4 + 0x284]
movzx eax, al
bt eax, 0
not edi
adc dword [esp + ecx*4 + 0x13c], edi
lea ecx, [ecx + 1]
setb al
cmp esi, ecx
jne 0x44cf70
test al, al
je 0x44d41b
inc dl
mov dword [esp + 0x1dc], esi
jmp 0x44cfd0
lea eax, [esp + eax + 0x284]
lea edi, [esp + 0x284]
cmp eax, edi
setne bl
neg bl
cmp bl, 1
jbe 0x44cf5b
mov ebx, dword [esp + 0x14]
mov esi, ecx
cmp ebx, 0x11
je 0x44d444
add dl, 0x30
mov byte [esp + ebx + 0x7f], dl
mov edx, dword [esp + 0x3c8]
cmp esi, edx
mov ecx, edx
cmova ecx, esi
cmp ecx, 0x29
jae 0x44d435
lea eax, [ebx + 1]
shl ecx, 2
mov dword [esp + 0x1c], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
test ecx, ecx
je 0x44d040
mov eax, dword [esp + ecx + 0x324]
xor ebx, ebx
cmp eax, dword [esp + ecx + 0x138]
mov eax, 0xff
setne bl
cmova ebx, eax
add ecx, 0xfffffffc
test bl, bl
je 0x44d010
jmp 0x44d055
lea eax, [esp + ecx + 0x328]
lea edi, [esp + 0x328]
cmp eax, edi
setne bl
neg bl
mov dword [esp], edx
push 0xa0
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0xa0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x138], esi
cmp esi, eax
mov ecx, eax
cmova ecx, esi
cmp ecx, 0x28
ja 0x44d435
test ecx, ecx
mov dword [esp + 8], eax
je 0x44d0e0
xor eax, eax
xor edx, edx
nop
mov edi, dword [esp + edx*4 + 0x3cc]
movzx eax, al
bt eax, 0
adc dword [esp + edx*4 + 0x98], edi
lea edx, [edx + 1]
setb al
cmp ecx, edx
jne 0x44d0a0
test al, al
je 0x44d0e2
cmp ecx, 0x28
je 0x44d407
mov dword [esp + ecx*4 + 0x98], 1
inc ecx
jmp 0x44d0e2
xor ecx, ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x138], ecx
cmp eax, ecx
cmova ecx, eax
cmp ecx, 0x29
jae 0x44d435
shl ecx, 2
nop
test ecx, ecx
je 0x44d130
mov edx, dword [esp + ecx + 0x94]
xor eax, eax
cmp edx, dword [esp + ecx + 0x280]
mov edx, 0xff
setne al
cmova eax, edx
add ecx, 0xfffffffc
test al, al
je 0x44d100
jmp 0x44d145
lea eax, [esp + ecx + 0x98]
lea edx, [esp + 0x98]
cmp eax, edx
setne al
neg al
mov ecx, dword [esp + 0x6c]
cmp bl, cl
jl 0x44d2a9
cmp al, cl
jl 0x44d2a9
xor ecx, ecx
test esi, esi
mov edi, 0
je 0x44d1c4
lea ecx, [esi*4]
xor ebx, ebx
lea edi, [esp + 0x13c]
nop word cs:[eax + eax]
nop
mov eax, 0xa
mul dword [edi]
add eax, ebx
mov ebx, edx
adc ebx, 0
mov dword [edi], eax
add edi, 4
add ecx, 0xfffffffc
jne 0x44d180
test ebx, ebx
je 0x44d1c0
cmp esi, 0x28
mov ecx, 0
je 0x44d407
mov dword [esp + esi*4 + 0x13c], ebx
inc esi
mov edi, esi
jmp 0x44d1c4
mov edi, esi
xor ecx, ecx
mov eax, dword [esp]
mov dword [esp + 0x1dc], edi
test eax, eax
je 0x44d235
mov ebx, edi
lea esi, [eax*4]
xor ecx, ecx
lea edi, [esp + 0x328]
nop word cs:[eax + eax]
nop
mov eax, 0xa
mul dword [edi]
add eax, ecx
mov ecx, edx
adc ecx, 0
mov dword [edi], eax
add edi, 4
add esi, 0xfffffffc
jne 0x44d1f0
test ecx, ecx
je 0x44d230
mov eax, dword [esp]
cmp eax, 0x28
je 0x44d407
mov dword [esp + eax*4 + 0x328], ecx
inc eax
mov edi, ebx
mov ecx, eax
jmp 0x44d235
mov ecx, dword [esp]
mov edi, ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x3c8], ecx
test eax, eax
je 0x44ccc0
mov ebx, edi
lea esi, [eax*4]
xor ecx, ecx
lea edi, [esp + 0x3cc]
nop word [eax + eax]
mov eax, 0xa
mul dword [edi]
add eax, ecx
mov ecx, edx
adc ecx, 0
mov dword [edi], eax
add edi, 4
add esi, 0xfffffffc
jne 0x44d260
test ecx, ecx
mov edi, ebx
je 0x44d2a0
mov eax, dword [esp + 8]
cmp eax, 0x28
je 0x44d407
mov dword [esp + eax*4 + 0x3cc], ecx
inc eax
jmp 0x44ccc2
mov eax, dword [esp + 8]
jmp 0x44ccc2
mov esi, dword [esp + 0x58]
cmp al, cl
jge 0x44d36b
cmp bl, cl
jge 0x44d331
lea ecx, [esp + 0x13c]
mov edx, 1
call fcn.00443f00
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x324]
cmp eax, ecx
cmova ecx, eax
cmp ecx, 0x29
jae 0x44d435
shl ecx, 2
mov eax, 0xff
nop
test ecx, ecx
je 0x44d313
mov esi, dword [esp + ecx + 0x280]
xor edx, edx
cmp esi, dword [esp + ecx + 0x138]
setne dl
cmova edx, eax
add ecx, 0xfffffffc
test dl, dl
je 0x44d2f0
jmp 0x44d328
lea eax, [esp + ecx + 0x284]
lea edx, [esp + 0x284]
cmp eax, edx
setne dl
neg dl
mov esi, dword [esp + 0x58]
cmp dl, 2
jae 0x44d36b
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, 0xffffffff
mov edx, edi
test edx, edx
je 0x44d3cc
mov ecx, edx
inc eax
dec edx
cmp byte [esp + ecx + 0x7e], 0x39
je 0x44d340
inc byte [esp + edx + 0x7f]
cmp ecx, ebx
ja 0x44d36b
lea ecx, [esp + ecx + 0x7f]
push eax
push 0x30
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [esp + 0x14], 0x11
jae 0x44d4ba
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x98]
lea ecx, [esp + 0x7f]
push eax
push 0
push dword [esp + 0x30]
call fcn.00444230
add esp, 0xc
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
lea edx, [esp + 0x1e0]
call fcn.0044a5d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test ebx, ebx
mov byte [esp + 0x7f], 0x31
je 0x44d3f1
lea eax, [esp + 0x80]
push ebx
push 0x30
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp ebx, 0xf
ja 0x44d4cd
inc dword [esp + 0x28]
mov byte [esp + ebx + 0x80], 0x30
add ebx, 2
mov edx, ebx
jmp 0x44d37a
mov ecx, 0x28
mov edx, 0x28
push 0x50646c
call fcn.00442900
mov ecx, str.assertion_failed:_noborrowassertion_failed:_digits___40assertion_failed:_other___0
mov edx, 0x1a
push 0x50646c
call fcn.004434c0
mov ecx, eax
jmp 0x44d435
mov ecx, esi
mov edx, 0x28
push 0x50646c
call fcn.00443260
mov ecx, 0x11
mov edx, 0x11
push 0x504e54
call fcn.00442900
mov ecx, 0x11
mov edx, 0x11
push 0x505438
call fcn.00442900
lea eax, [esp + 0x98]
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x470]
lea edx, [esp + 0x1e0]
push eax
call fcn.00443500
mov ecx, 0x504e37
mov edx, 0x1c
push 0x505418
call fcn.004434c0
mov ecx, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
mov edx, 0x1d
push 0x504ce8
call fcn.004434c0
mov ecx, dword [esp + 0x1c]
mov edx, 0x11
push 0x504e74
call fcn.00443260
mov ecx, edi
mov edx, 0x11
push 0x504e64
call fcn.00442900
nop
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax]
mov edx, dword [ecx + 0x1c]
cmp dword [ecx + 8], 0
je 0x44d506
and edx, 1
push dword [ecx + 0xc]
call fcn.0044a930
add esp, 4
pop ebp
ret
and edx, 1
call 0x44bbb0
pop ebp
ret