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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
push edi
push 2
xor edi, edi
push esi
mov dword [esp + 0x48], edi
call fcn.004565d0
add esp, 8
test eax, eax
js 0x4432b0
push 2
push esi
call fcn.0045db20
add esp, 8
test eax, eax
je 0x441ec0
push 2
push esi
call fcn.004565d0
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push 3
push esi
call fcn.004565d0
add esp, 8
test eax, eax
je 0x4434f2
push 0xb
push esi
call fcn.004565d0
add esp, 8
test eax, eax
je 0x4434f2
push 0xcd1
push esi
call fcn.004565d0
add esp, 8
test eax, eax
je 0x4432b0
push 0xa
push esi
call fcn.00457f70
add esp, 8
mov dword [0x5d5c2c], eax
cmp eax, 0x4e20
jle 0x441f35
cmp dword [esp + 0x78], 2
jl 0x441f27
push str._Info:_Number_too_large__returning_BPSW_N__n
call fcn.004b7f6d
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
jmp fcn.00441480
call fcn.004414d0
push esi
push 0x5d5c40
call fcn.00456880
push edi
push 0x5d5c60
call fcn.00458440
add esp, 0x10
xor esi, esi
mov eax, dword [0x5d5c8c]
lea ecx, [esi + eax]
push edi
push ecx
call fcn.00456980
add esi, 0xc
add esp, 8
cmp esi, 0x180
jl 0x441f55
mov dword [esp + 0x2c], edi
mov edi, 0x5c71b8
mov dword [esp + 0x38], str._be_Q
mov dword [esp + 0x3c], edi
jmp 0x441f94
mov edi, dword [esp + 0x3c]
push 2
push 0x5d5c60
call fcn.00456980
mov edx, dword [esp + 0x40]
xor eax, eax
add esp, 8
mov dword [esp + 0x28], eax
cmp dword [edx], eax
jle 0x44208a
jmp 0x441fc0
mov eax, dword [eax*4 + 0x5c5e20]
mov ebx, dword [edi + 4]
mov esi, dword [edi]
mov dword [esp + 0x24], eax
dec eax
cdq
push edx
push eax
push ebx
push esi
call fcn.004c5e90
or eax, edx
jne 0x442071
mov eax, dword [esp + 0x24]
cdq
mov edi, edx
push edi
mov ebp, eax
push ebp
push ebx
push esi
call fcn.004bdf50
mov esi, eax
mov ebx, edx
lea esp, [esp]
push edi
push ebp
push ebx
push esi
call fcn.004c5de0
mov esi, eax
mov eax, dword [esp + 0x24]
push eax
push 0x5d5c60
push 0x5d5c60
mov ebx, edx
call fcn.00459570
add esp, 0xc
push edi
push ebp
push ebx
push esi
call fcn.004c5e90
or eax, edx
je 0x442000
lea ecx, [esp + 0x60]
push ecx
call fcn.004565a0
push 0x5d5c60
lea edx, [esp + 0x68]
push 0x5d5c60
push edx
call fcn.00458530
lea eax, [esp + 0x70]
push 0x5d5c40
push eax
call fcn.00456920
lea ecx, [esp + 0x78]
push ecx
mov esi, eax
call fcn.00456900
add esp, 0x1c
test esi, esi
jg 0x4420a6
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [edx]
jl 0x441fc0
inc dword [esp + 0x2c]
add dword [esp + 0x38], 4
add edi, 8
mov dword [esp + 0x3c], edi
cmp edi, 0x5c7200
jl 0x441f90
mov eax, dword [esp + 0x2c]
cmp eax, 9
jne 0x4420ff
call fcn.00441630
lea eax, [esp + 0x60]
push 2
push eax
call fcn.00457500
mov edi, dword [esp + 0x7c]
lea ecx, [esp + 0x68]
push ecx
call fcn.00440c10
lea edx, [esp + 0x6c]
push edx
mov esi, eax
call fcn.00456900
add esp, 0x10
test esi, esi
je 0x4420f5
cmp esi, 2
je 0x4420f5
mov eax, edi
call fcn.004412f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov edx, dword [eax*8 + 0x5c71b8]
mov ebx, dword [eax*8 + 0x5c71bc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov eax, dword [eax*4 + 0x5c5dfc]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x3c], ecx
mov edi, edi
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x40]
cmp eax, dword [esp + 0x4c]
jge 0x44339f
mov ecx, dword [esp + 0x58]
add eax, ebp
mov esi, dword [eax*4 + 0x5c5ddc]
lea edi, [eax*4 + 0x5c5ddc]
mov eax, esi
cdq
push edx
push eax
push ebx
push ecx
mov dword [esp + 0x24], esi
call fcn.004c5e90
or eax, edx
je 0x442193
lea ebx, [ebx]
mov esi, dword [edi + 4]
add edi, 4
mov eax, esi
cdq
push edx
mov edx, dword [esp + 0x5c]
push eax
push ebx
push edx
inc ebp
mov dword [esp + 0x24], esi
call fcn.004c5e90
or eax, edx
jne 0x442170
mov dword [esp + 0x40], ebp
mov edi, esi
imul edi, esi
push edi
xor ebp, ebp
push 0x5d5c40
mov dword [esp + 0x40], ebp
call fcn.0045ddd0
lea ecx, [esi - 2]
add esp, 8
mov ebx, eax
cmp ecx, ebp
jle 0x4421c2
imul eax, ebx
cdq
idiv edi
dec ecx
mov eax, edx
test ecx, ecx
jg 0x4421b5
cmp esi, 2
jle 0x4421e0
cmp eax, 1
je 0x4421e0
mov dword [esp + 0x38], 1
jmp 0x4421e0
mov dword [esp + 0x28], ebp
cmp ebp, dword [esp + 0x3c]
jg 0x4430ef
mov edi, edi
mov eax, dword [esp + 0x28]
mov ecx, dword [eax*4 + 0x5c5e20]
mov dword [esp + 0x24], ecx
dec ecx
mov eax, ecx
cdq
idiv esi
xor edi, edi
mov dword [esp + 0x34], edi
test edx, edx
jne 0x442223
nop
mov eax, ecx
cdq
idiv esi
inc edi
mov ecx, eax
cdq
idiv esi
test edx, edx
je 0x442210
mov dword [esp + 0x34], edi
test edi, edi
je 0x4430d8
cmp dword [esp + 0x78], 1
mov ebp, dword [esp + 0x14]
jl 0x44228a
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, eax
imul eax, dword [esp + 0x4c]
imul ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x50], ecx
sub esp, 8
fild dword [esp + 0x58]
mov dword [esp + 0x58], eax
fmul qword [0x5b45c8]
fild dword [esp + 0x58]
fdivp st(1)
fstp qword [esp]
push edx
push ebp
push str.APRCL_Progress:_P___2d__Q___12d____3.2f____r
call fcn.004b7f6d
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
add esp, 0x18
mov ecx, dword [esp + 0x34]
mov edi, 1
mov dword [esp + 0x18], edi
cmp ecx, edi
jle 0x4422aa
lea eax, [ecx - 1]
mov edi, edi
imul edi, ebp
dec eax
jne 0x4422a0
mov dword [esp + 0x18], edi
mov ebx, ebp
lea eax, [ebp - 1]
imul ebx, edi
imul eax, edi
mov dword [esp + 0x10], eax
test ebx, ebx
jle 0x4422f7
xor esi, esi
mov ebp, ebx
mov eax, dword [0x5d5c78]
lea ecx, [esi + eax]
push 0
push ecx
call fcn.00456980
mov edx, dword [0x5d5c90]
lea eax, [esi + edx]
push 0
push eax
call fcn.00456980
add esp, 0x10
add esi, 0xc
dec ebp
jne 0x4422c1
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
cmp ebp, 2
jle 0x442312
mov ecx, dword [esp + 0x24]
push ecx
push eax
push ebp
push 0
call fcn.00441da0
add esp, 0x10
jmp 0x4424f1
cmp ecx, 1
je 0x4424f1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
push 0
call fcn.00441da0
add esp, 0x10
test ebx, ebx
jle 0x44235d
xor esi, esi
mov dword [esp + 0x48], ebx
lea ebx, [ebx]
mov ecx, dword [0x5d5b8c]
lea edx, [esi + ecx]
push 0
push edx
call fcn.00456980
add esp, 8
add esi, 0xc
dec dword [esp + 0x48]
jne 0x442340
cmp dword [esp + 0x34], 2
je 0x4424f1
test edi, edi
jle 0x442396
xor esi, esi
mov dword [esp + 0x48], edi
mov eax, dword [0x5d5c78]
mov edx, dword [0x5d5b8c]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec dword [esp + 0x48]
jne 0x442372
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
push 1
call fcn.00441da0
add esp, 0x10
test edi, edi
jle 0x4423e4
xor esi, esi
mov dword [esp + 0x48], edi
jmp 0x4423c0
mov eax, dword [0x5d5c78]
mov edx, dword [0x5d5c70]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec dword [esp + 0x48]
jne 0x4423c0
mov esi, dword [esp + 0x10]
push ebp
push edi
push esi
push ebx
call fcn.004419a0
push ebp
push edi
mov ecx, esi
mov edx, ebx
call fcn.004417c0
add esp, 0x18
test edi, edi
jle 0x442434
xor esi, esi
mov dword [esp + 0x48], edi
lea esp, [esp]
mov ecx, dword [0x5d5c70]
mov eax, dword [0x5d5c90]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + eax]
push ecx
call fcn.00456880
add esp, 8
add esi, 0xc
dec dword [esp + 0x48]
jne 0x442410
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
push 2
call fcn.00441da0
add esp, 0x10
test ebx, ebx
jle 0x442470
xor esi, esi
mov dword [esp + 0x48], ebx
mov ecx, dword [0x5d5b8c]
lea edx, [esi + ecx]
push 0
push edx
call fcn.00456980
add esp, 8
add esi, 0xc
dec dword [esp + 0x48]
jne 0x442453
test edi, edi
jle 0x4424a4
xor esi, esi
mov dword [esp + 0x48], edi
lea ebx, [ebx]
mov eax, dword [0x5d5c78]
mov edx, dword [0x5d5c70]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec dword [esp + 0x48]
jne 0x442480
mov esi, dword [esp + 0x10]
push ebp
push edi
push esi
push ebx
call fcn.00441b70
push ebp
push edi
mov ecx, esi
mov edx, ebx
call fcn.004417c0
add esp, 0x18
test edi, edi
jle 0x4424f1
xor esi, esi
jmp 0x4424d0
mov ecx, dword [0x5d5c70]
mov eax, dword [0x5d5c30]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + eax]
push ecx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x4424d0
mov edx, dword [0x5d5c6c]
push 1
push edx
call fcn.00456980
mov eax, dword [0x5d5c74]
push 1
push eax
call fcn.00456980
add esp, 0x10
cmp ebx, 1
jle 0x44254a
mov esi, 0xc
lea edi, [ebx - 1]
lea esp, [esp]
mov ecx, dword [0x5d5c6c]
lea edx, [esi + ecx]
push 0
push edx
call fcn.00456980
mov eax, dword [0x5d5c74]
lea ecx, [esi + eax]
push 0
push ecx
call fcn.00456980
add esp, 0x10
add esi, 0xc
dec edi
jne 0x442520
push ebx
push 0x5d5c40
call fcn.0045ddd0
add esp, 8
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 1
cmp ebx, 1
jle 0x4425e2
lea esp, [esp]
mov edi, dword [esp + 0x20]
mov eax, edi
cdq
idiv dword [esp + 0x14]
test edx, edx
je 0x4425ca
xor ebp, ebp
mov dword [esp + 0x1c], 1
mov ecx, ebx
test ebx, ebx
je 0x4425b3
nop
mov eax, edi
cdq
idiv ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ebp
mov esi, eax
imul eax, ecx
imul esi, ebp
sub edx, esi
mov esi, edi
sub esi, eax
mov edi, ecx
mov ebp, edx
mov ecx, esi
jne 0x442590
mov eax, dword [esp + 0x1c]
lea eax, [eax + ebx]
cdq
idiv ebx
mov eax, dword [esp + 0x20]
mov dword [eax*4 + 0x5d5ba0], edx
jmp 0x4425d5
mov dword [edi*4 + 0x5d5ba0], 0
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, ebx
jl 0x442570
cmp dword [esp + 0x14], 2
je 0x44285f
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
cmp ebx, 1
jle 0x442848
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
mov edi, edi
test ebx, ebx
jle 0x442642
xor esi, esi
mov edi, ebx
jmp 0x442620
mov edx, dword [0x5d5c78]
mov ecx, dword [0x5d5c70]
lea eax, [esi + edx]
push eax
lea edx, [esi + ecx]
push edx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442620
mov eax, dword [esp + 0x1c]
cdq
idiv dword [esp + 0x14]
test edx, edx
je 0x44282f
cmp dword [esp + 0x20], 0
jne 0x44266e
mov eax, dword [esp + 0x1c]
push eax
push 0x5d5c80
call fcn.00456980
add esp, 8
jmp 0x44268d
mov eax, dword [esp + 0x44]
cdq
idiv ebx
mov esi, eax
push esi
push 0x5d5c80
call fcn.00456980
add esp, 8
test esi, esi
je 0x44282f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
push ecx
push edx
push ebx
call fcn.00441d00
add esp, 0xc
test ebx, ebx
jle 0x4426c9
xor esi, esi
mov edi, ebx
lea esp, [esp]
mov eax, dword [0x5d5b8c]
lea ecx, [esi + eax]
push 0
push ecx
call fcn.00456980
add esp, 8
add esi, 0xc
dec edi
jne 0x4426b0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx*4 + 0x5d5ba0]
mov dword [esp + 0x48], eax
test ebx, ebx
jle 0x44272b
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x50], ebx
mov eax, edi
cdq
idiv ebx
mov ecx, dword [0x5d5b8c]
lea esi, [edx + edx*2]
add esi, esi
add esi, esi
lea eax, [esi + ecx]
mov ecx, dword [0x5d5c70]
add ecx, ebp
push ecx
push eax
push eax
call fcn.00459390
add esi, dword [0x5d5b8c]
push 0x5d5c40
push esi
push esi
call fcn.00458470
add edi, dword [esp + 0x60]
add esp, 0x18
add ebp, 0xc
dec dword [esp + 0x50]
jne 0x4426e4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.004418b0
mov ebp, dword [esp + 0x28]
add esp, 8
test ebp, ebp
jne 0x442784
test ebx, ebx
jle 0x4427b1
xor esi, esi
mov edi, ebx
jmp 0x442760
mov edx, dword [0x5d5c6c]
mov ecx, dword [0x5d5c70]
lea eax, [esi + edx]
push eax
lea edx, [esi + ecx]
push edx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442760
jmp 0x4427b1
test ebx, ebx
jle 0x4427b1
xor esi, esi
mov edi, ebx
lea esp, [esp]
mov eax, dword [0x5d5c74]
mov edx, dword [0x5d5c70]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442790
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push ebx
call fcn.004419a0
add esp, 0x10
test ebp, ebp
jne 0x442803
test ebx, ebx
jle 0x44282f
xor esi, esi
mov edi, ebx
jmp 0x4427e0
mov ecx, dword [0x5d5c70]
mov eax, dword [0x5d5c6c]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + eax]
push ecx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x4427e0
jmp 0x44282f
test ebx, ebx
jle 0x44282f
xor esi, esi
mov edi, ebx
jmp 0x442810
mov edx, dword [0x5d5c70]
mov eax, dword [0x5d5c74]
add edx, esi
push edx
add eax, esi
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442810
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x44], ecx
inc eax
mov dword [esp + 0x1c], eax
cmp eax, ebx
jl 0x442610
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, 1
jle 0x4425f5
jmp 0x442cf3
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x44288e
mov edx, dword [esp + 0x24]
mov eax, dword [0x5d5c6c]
push edx
push eax
call fcn.00456980
mov ecx, dword [0x5d5c74]
push 1
push ecx
call fcn.00456980
add esp, 0x10
jmp 0x442cf3
cmp eax, 2
jne 0x44297f
mov esi, dword [esp + 0x30]
cmp esi, 1
jne 0x4428b0
mov edx, dword [0x5d5c74]
push esi
push edx
call fcn.00456980
add esp, 8
mov eax, dword [0x5d5c78]
mov ecx, dword [0x5d5c70]
push eax
push ecx
call fcn.00456880
mov edx, dword [0x5d5c78]
mov eax, dword [0x5d5c70]
add edx, 0xc
push edx
add eax, 0xc
push eax
call fcn.00456880
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push 2
push ecx
push edx
push ebx
call fcn.00441b70
add esp, 0x20
cmp esi, 3
jne 0x442921
mov eax, dword [0x5d5c70]
mov ecx, dword [0x5d5c74]
push eax
push ecx
call fcn.00456880
mov edx, dword [0x5d5c70]
mov eax, dword [0x5d5c74]
add edx, 0xc
push edx
add eax, 0xc
push eax
call fcn.00456880
add esp, 0x10
mov esi, dword [esp + 0x24]
mov ecx, dword [0x5d5c70]
mov edx, dword [0x5d5c6c]
push esi
push ecx
push edx
call fcn.00459570
mov eax, dword [0x5d5c6c]
push 0x5d5c40
push eax
push eax
call fcn.00458470
mov eax, dword [0x5d5c70]
mov ecx, dword [0x5d5c6c]
push esi
add eax, 0xc
push eax
add ecx, 0xc
push ecx
call fcn.00459570
mov eax, dword [0x5d5c6c]
add eax, 0xc
push 0x5d5c40
push eax
push eax
call fcn.00458470
add esp, 0x30
jmp 0x442cf3
mov dword [esp + 0x20], 0
jmp 0x442990
mov dword [esp + 0x1c], 1
cmp ebx, 1
jle 0x442bde
mov edx, dword [esp + 0x30]
mov dword [esp + 0x44], edx
lea esp, [esp]
mov eax, dword [esp + 0x18]
test eax, eax
js 0x4429e1
xor esi, esi
lea edi, [eax + 1]
lea ecx, [ecx]
mov eax, dword [0x5d5c90]
mov edx, dword [0x5d5c70]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x4429c0
mov eax, dword [esp + 0x1c]
and eax, 7
cmp eax, 5
je 0x442bc1
cmp eax, 7
je 0x442bc1
cmp dword [esp + 0x20], 0
jne 0x442a15
mov ecx, dword [esp + 0x1c]
push ecx
push 0x5d5c80
call fcn.00456980
add esp, 8
jmp 0x442a34
mov eax, dword [esp + 0x44]
cdq
idiv ebx
mov esi, eax
push esi
push 0x5d5c80
call fcn.00456980
add esp, 8
test esi, esi
je 0x442bc1
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
push 2
push edx
push ebx
call fcn.00441d00
add esp, 0xc
test ebx, ebx
jle 0x442a69
xor esi, esi
mov edi, ebx
mov eax, dword [0x5d5b8c]
lea ecx, [esi + eax]
push 0
push ecx
call fcn.00456980
add esp, 8
add esi, 0xc
dec edi
jne 0x442a50
mov edx, dword [esp + 0x1c]
mov eax, dword [edx*4 + 0x5d5ba0]
mov dword [esp + 0x48], eax
test ebx, ebx
jle 0x442acb
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x50], ebx
mov eax, edi
cdq
idiv ebx
mov ecx, dword [0x5d5b8c]
lea esi, [edx + edx*2]
add esi, esi
add esi, esi
lea eax, [esi + ecx]
mov ecx, dword [0x5d5c70]
add ecx, ebp
push ecx
push eax
push eax
call fcn.00459390
add esi, dword [0x5d5b8c]
push 0x5d5c40
push esi
push esi
call fcn.00458470
add edi, dword [esp + 0x60]
add esp, 0x18
add ebp, 0xc
dec dword [esp + 0x50]
jne 0x442a84
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
push 2
push eax
mov ecx, ebp
mov edx, ebx
call fcn.004418b0
add esp, 8
cmp dword [esp + 0x20], 0
jne 0x442b14
test ebx, ebx
jle 0x442b42
xor esi, esi
mov edi, ebx
mov ecx, dword [0x5d5c6c]
mov eax, dword [0x5d5c70]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + eax]
push ecx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442af1
jmp 0x442b42
test ebx, ebx
jle 0x442b42
xor esi, esi
mov edi, ebx
lea esp, [esp]
mov edx, dword [0x5d5c74]
mov ecx, dword [0x5d5c70]
lea eax, [esi + edx]
push eax
lea edx, [esi + ecx]
push edx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442b20
mov esi, dword [esp + 0x18]
push 2
push esi
mov ecx, ebp
mov edx, ebx
call fcn.004417c0
push 2
push esi
push ebp
push ebx
call fcn.004419a0
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x442b93
test ebx, ebx
jle 0x442bc1
xor esi, esi
mov edi, ebx
mov edi, edi
mov eax, dword [0x5d5c70]
mov edx, dword [0x5d5c6c]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442b70
jmp 0x442bc1
test ebx, ebx
jle 0x442bc1
xor esi, esi
mov edi, ebx
jmp 0x442ba0
mov ecx, dword [0x5d5c70]
mov eax, dword [0x5d5c74]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + eax]
push ecx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442ba0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
add ecx, ecx
add dword [esp + 0x44], ecx
add eax, 2
mov dword [esp + 0x1c], eax
cmp eax, ebx
jl 0x4429b0
cmp dword [esp + 0x20], 0
je 0x442ce1
mov eax, dword [esp + 0x30]
and eax, 0x80000007
jns 0x442bf9
dec eax
or eax, 0xfffffff8
inc eax
cmp eax, 1
je 0x442ce1
cmp eax, 3
je 0x442ce1
mov edi, dword [esp + 0x18]
xor ebp, ebp
test edi, edi
jle 0x442c5a
xor esi, esi
mov ebp, edi
lea esp, [esp]
mov edx, dword [0x5d5c30]
mov ecx, dword [0x5d5b8c]
lea eax, [esi + edx]
push eax
lea edx, [esi + ecx]
push edx
call fcn.00456880
mov eax, dword [0x5d5c74]
mov edx, dword [0x5d5c70]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 0x10
add esi, 0xc
dec edi
jne 0x442c20
cmp ebp, ebx
jge 0x442c9a
lea esi, [ebp + ebp*2]
add esi, esi
mov edi, ebx
add esi, esi
sub edi, ebp
lea ebx, [ebx]
mov ecx, dword [0x5d5b8c]
lea edx, [esi + ecx]
push 0
push edx
call fcn.00456980
mov eax, dword [0x5d5c70]
lea ecx, [esi + eax]
push 0
push ecx
call fcn.00456980
add esp, 0x10
add esi, 0xc
dec edi
jne 0x442c70
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push 2
push esi
push edx
push ebx
call fcn.004419a0
add esp, 0x10
test esi, esi
jle 0x442ce1
mov edi, dword [esp + 0x18]
xor esi, esi
lea esp, [esp]
mov eax, dword [0x5d5c70]
mov edx, dword [0x5d5c74]
lea ecx, [esi + eax]
push ecx
lea eax, [esi + edx]
push eax
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442cc0
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, 1
jle 0x442990
mov edi, dword [esp + 0x10]
xor ebp, ebp
test edi, edi
jle 0x442d22
xor esi, esi
mov ebp, edi
mov ecx, dword [0x5d5c6c]
mov eax, dword [0x5d5c70]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + eax]
push ecx
call fcn.00456880
add esp, 8
add esi, 0xc
dec edi
jne 0x442d01
cmp ebp, ebx
jge 0x442d4c
lea esi, [ebp + ebp*2]
add esi, esi
mov edi, ebx
add esi, esi
sub edi, ebp
mov edx, dword [0x5d5c70]
lea eax, [esi + edx]
push 0
push eax
call fcn.00456980
add esp, 8
add esi, 0xc
dec edi
jne 0x442d32
push ebx
push 0x5d5c40
push 0x5d5c80
call fcn.0045d840
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
push ecx
push edx
push ebx
mov edi, ebp
call fcn.00441d00
add esp, 0x18
test ebx, ebx
jle 0x442d99
xor esi, esi
mov edi, ebx
lea ecx, [ecx]
mov eax, dword [0x5d5b8c]
lea ecx, [esi + eax]
push 0
push ecx
call fcn.00456980
add esp, 8
add esi, 0xc
dec edi
jne 0x442d80
xor eax, eax
mov dword [esp + 0x20], eax
cmp ebp, eax
jle 0x442e3a
mov dword [esp + 0x48], eax
jmp 0x442db0
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x50], edx
mov edi, edi
mov eax, dword [0x5d5c74]
lea ecx, [edi + eax]
mov eax, dword [esp + 0x48]
add eax, dword [0x5d5c70]
push ecx
push eax
push 0x5d5c50
call fcn.00458530
mov eax, ebp
cdq
idiv ebx
mov ecx, dword [0x5d5b8c]
lea esi, [edx + edx*2]
add esi, esi
add esi, esi
lea eax, [esi + ecx]
push eax
push 0x5d5c50
push eax
call fcn.00459390
add esi, dword [0x5d5b8c]
push 0x5d5c40
push esi
push esi
call fcn.00458470
add esp, 0x24
add edi, 0xc
inc ebp
dec dword [esp + 0x50]
jne 0x442dc0
mov eax, dword [esp + 0x20]
add dword [esp + 0x48], 0xc
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x10]
jl 0x442db0
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, ebp
mov edx, ebx
call fcn.004418b0
xor edi, edi
add esp, 8
or ebx, 0xffffffff
mov dword [esp + 0x48], edi
cmp ebp, edi
jle 0x442ef5
xor esi, esi
mov edx, dword [0x5d5b8c]
lea eax, [esi + edx]
push 0
push eax
call fcn.004565d0
add esp, 8
test eax, eax
je 0x442ee1
cmp ebx, 0xffffffff
jne 0x442e9c
mov ecx, dword [0x5d5b8c]
lea edx, [esi + ecx]
push 1
push edx
call fcn.004565d0
add esp, 8
test eax, eax
jne 0x442e9c
mov ebx, edi
jmp 0x442ee1
mov eax, dword [0x5d5b8c]
push 1
lea ecx, [esi + eax]
push ecx
push 0x5d5c50
mov ebx, 0xfffffffe
call fcn.00456ad0
push 0x5d5c40
push 0x5d5c50
push 0x5d5c50
call fcn.00458470
push 0
push 0x5d5c50
call fcn.004565d0
add esp, 0x20
test eax, eax
jne 0x442ee1
inc dword [esp + 0x48]
inc edi
add esi, 0xc
cmp edi, ebp
jl 0x442e63
test ebx, ebx
jns 0x442fe5
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
lea eax, [edx - 1]
cmp ecx, eax
jne 0x443285
mov edi, dword [esp + 0x18]
xor ebp, ebp
test edi, edi
jle 0x442f59
xor esi, esi
mov edx, dword [0x5d5b8c]
push 1
lea eax, [esi + edx]
push eax
push 0x5d5c50
call fcn.00456ad0
push 0x5d5c40
push 0x5d5c50
push 0x5d5c50
call fcn.00458470
push 0
push 0x5d5c50
call fcn.004565d0
add esp, 0x20
test eax, eax
je 0x442f59
inc ebp
add esi, 0xc
cmp ebp, edi
jl 0x442f14
cmp ebp, edi
je 0x4432ba
mov eax, dword [esp + 0x14]
mov ebx, 1
add eax, 0xfffffffe
cmp eax, ebx
jl 0x442fdf
mov eax, dword [esp + 0x18]
lea esi, [eax + ebp]
lea edi, [eax + eax*2]
lea esi, [esi + esi*2]
add edi, edi
add esi, esi
add edi, edi
add esi, esi
jmp 0x442f90
mov ecx, dword [0x5d5b8c]
push 1
lea edx, [esi + ecx]
push edx
push 0x5d5c50
call fcn.00456ad0
push 0x5d5c40
push 0x5d5c50
push 0x5d5c50
call fcn.00458470
push 0
push 0x5d5c50
call fcn.004565d0
add esp, 0x20
test eax, eax
jne 0x4432ed
mov eax, dword [esp + 0x14]
inc ebx
add eax, 0xfffffffe
add esi, edi
cmp ebx, eax
jle 0x442f90
mov ebx, dword [esp + 0x10]
add ebx, ebp
mov esi, 1
cmp dword [esp + 0x38], esi
je 0x4430d8
mov ecx, dword [esp + 0x14]
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x4430d8
cmp ecx, 2
jne 0x4430d4
cmp dword [esp + 0x34], esi
jne 0x443037
mov edx, dword [0x5d5c44]
mov ecx, dword [0x5d5c48]
neg edx
sbb edx, edx
and edx, dword [ecx]
and dl, 3
cmp dl, 1
jne 0x4430d8
jmp 0x4430d4
mov eax, dword [esp + 0x24]
push eax
push 0x5d5c50
call fcn.00456980
push 0x5d5c40
push 0x5d5c50
push 0x5d5c50
call fcn.00458470
push 1
push 0x5d5c40
push 0x5d5b70
call fcn.00458940
push 2
push 0x5d5b70
push 0x5d5b70
call fcn.0045dc60
push 0x5d5c40
push 0x5d5b70
push 0x5d5c50
push 0x5d5c20
call fcn.0045a8f0
push 1
push 0x5d5c20
push 0x5d5c50
call fcn.00456ad0
add esp, 0x48
push 0x5d5c40
push 0x5d5c50
push 0x5d5c50
call fcn.00458470
push 0
push 0x5d5c50
call fcn.004565d0
add esp, 0x14
test eax, eax
jne 0x44330f
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x3c]
jle 0x4421f0
cmp dword [esp + 0x38], 0
jne 0x443188
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
mov edx, dword [edi*4 + str._be_Q]
dec edx
lea ecx, [eax + 1]
mov dword [esp + 0x50], ecx
cmp eax, edx
jge 0x443199
mov eax, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov eax, dword [eax*4 + 0x5c5e20]
mov dword [esp + 0x24], eax
cdq
mov edi, eax
mov eax, dword [esp + 0x5c]
push eax
push ecx
push edx
push edi
mov dword [esp + 0x74], edx
call fcn.004bdf50
mov ebx, eax
mov ebp, edx
mov edx, dword [esp + 0x24]
push edx
push 0x5d5c60
push 0x5d5c60
call fcn.00459570
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
push edi
push ebp
push ebx
call fcn.004c5de0
mov ecx, dword [esp + 0x64]
push ecx
push edi
mov ebp, edx
mov ebx, eax
push ebp
push ebx
call fcn.004c5e90
or eax, edx
je 0x443146
mov ebp, dword [esp + 0x50]
jmp 0x4421e0
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x5c]
jmp 0x442134
inc edi
mov dword [esp + 0x54], edi
cmp edi, 9
je 0x443331
mov edx, dword [edi*8 + 0x5c71b8]
mov eax, dword [edi*8 + 0x5c71bc]
mov ecx, dword [edi*4 + 0x5c5dfc]
push 2
push 0x5d5c60
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x54], ecx
call fcn.00456980
lea edx, [edi*4 + str._be_Q]
add esp, 8
xor eax, eax
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], eax
cmp eax, dword [ecx]
jg 0x443368
mov eax, dword [eax*4 + 0x5c5e20]
mov dword [esp + 0x24], eax
dec eax
cdq
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x60]
push edx
push eax
call fcn.004c5e90
or eax, edx
jne 0x44326e
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x5c]
cdq
mov ebp, edx
mov edx, dword [esp + 0x58]
push ecx
push edx
mov ebx, eax
push ebp
push ebx
call fcn.004bdf50
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x24]
push eax
push 0x5d5c60
push 0x5d5c60
call fcn.00459570
add esp, 0xc
push ebp
push ebx
push edi
push esi
call fcn.004c5de0
push ebp
push ebx
mov edi, edx
mov esi, eax
push edi
push esi
call fcn.004c5e90
or eax, edx
je 0x443234
call fcn.00441770
test eax, eax
jg 0x443278
mov eax, dword [esp + 0x48]
inc eax
jmp 0x4431e4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x5c]
jmp 0x442128
cmp dword [esp + 0x78], 2
jl 0x4432ab
dec edx
push edx
push ecx
push ebx
push str.Failed:_W___P___1_:_H_d_:_W_d_:_P_1_d_n
call fcn.004b7f6d
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
add esp, 0x14
call fcn.00441630
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [esp + 0x78], 2
jl 0x4432de
push edi
push ebp
push str.Failed:_I__PM_:_I_d_:_PM_d_n
call fcn.004b7f6d
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
add esp, 0x10
call fcn.00441630
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [esp + 0x78], 2
jl 0x4432de
push str.Failed:_biTmp___0__1__n
call fcn.004b7f6d
push 0x5d5c50
push str.biTmp_Zd_n
call fcn.00456570
jmp 0x4432cd
cmp dword [esp + 0x78], 2
jl 0x4432de
push str.Failed:_biTmp___0__2__n
call fcn.004b7f6d
push 0x5d5c50
push str.biTmp___Zd_n
call fcn.00456570
jmp 0x4432cd
cmp dword [esp + 0x78], 2
jl 0x443353
push str.APR_CL_cannot_tell:_lvlnow__lvlmax__returning_BPSW_N__n
call fcn.004b7f6d
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
add esp, 8
call fcn.00441630
mov eax, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
jmp fcn.00441480
cmp dword [esp + 0x78], 2
jl 0x44338a
push str.Failed:_APR_CL_error__returning_BPSW_N__n
call fcn.004b7f6d
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
add esp, 8
call fcn.00441630
mov eax, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
jmp fcn.00441480
push 0x5d5c40
push 0x5d5b80
call fcn.00456880
push 0x5d5c60
push 0x5d5c40
call fcn.00456880
push 0
push 0x5d5c20
call fcn.00456980
push 1
push 0x5d5c20
call fcn.00456980
push 0x5d5c40
push 0x5d5b80
push 0x5d5b70
call fcn.0045dd10
add esp, 0x2c
mov esi, 1
test ebx, ebx
jl 0x4434ed
mov edi, dword [esp + 0x58]
jg 0x443410
cmp edi, esi
jb 0x4434ed
jmp 0x443410
push 0x5d5b70
push 0x5d5c20
push 0x5d5c50
call fcn.00458530
push 0x5d5c40
push 0x5d5c50
push 0x5d5c50
call fcn.00458470
push 1
push 0x5d5c50
call fcn.004565d0
add esp, 0x20
test eax, eax
jg 0x4434ed
push 1
push 0x5d5c50
call fcn.004565d0
add esp, 8
test eax, eax
jne 0x4434ed
push 0x5d5c50
push 0x5d5c40
call fcn.00456880
push 0x5d5c50
push 0x5d5c40
call fcn.00456920
add esp, 0x10
test eax, eax
jle 0x4434b6
push 0x5d5c40
push 0x5d5b80
push 0x5d5c50
call fcn.0045da40
push 0
push 0x5d5c50
call fcn.004565d0
add esp, 0x14
test eax, eax
je 0x4432ab
push 0x5d5c40
push 0x5d5c20
call fcn.00456880
push 0x5d5c60
push 0x5d5c40
call fcn.00456880
inc esi
mov eax, esi
cdq
add esp, 0x10
cmp edx, ebx
jl 0x443410
jg 0x4434ed
cmp eax, edi
jbe 0x443410
call fcn.00441630
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x60
ret