Function at 0x43ff70
Capabilities:
Create thread
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x8c]
push esi
mov esi, dword [esp + 0x80]
push edi
mov edi, dword [esp + 0x88]
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x1c], ebx
call fcn.00456920
add esp, 8
test eax, eax
jg 0x43ffbd
push str.error:_lowlimit_must_be_less_than_highlimit_n
call fcn.004b7f6d
add esp, 4
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
push 0xc
call fcn.004b7263
mov ebx, eax
lea eax, [esp + 0x70]
add esp, 4
push eax
mov dword [esp + 0x24], ebx
call fcn.004565a0
add esp, 4
push ebx
call fcn.004565a0
add esp, 4
push esi
push ebx
call fcn.00456880
push esi
lea ecx, [esp + 0x78]
push edi
push ecx
call fcn.00459720
mov edx, dword [esp + 0x84]
add esp, 0x14
xor eax, eax
mov ecx, edx
test edx, edx
jns 0x44000a
neg ecx
mov edi, dword [esp + 0x74]
test ecx, ecx
jle 0x440014
mov eax, dword [edi]
xor ecx, ecx
mov esi, edx
test edx, edx
jns 0x44001e
neg esi
cmp esi, 2
jb 0x440035
xor esi, esi
test edx, edx
jns 0x44002b
neg edx
cmp edx, 1
jle 0x440033
mov esi, dword [edi + 4]
or ecx, esi
cmp dword [esp + 0x8c], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
je 0x44027d
test ecx, ecx
ja 0x44011b
jb 0x440060
cmp eax, 0xf4240
jae 0x44011b
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x30]
push edx
xor edi, edi
push edi
push 0xf4240
push edi
push edi
push ebx
push eax
push ecx
call fcn.0043f510
xor esi, esi
add esp, 0x20
mov dword [esp + 0x14], eax
mov dword [ebp], edi
mov dword [ebp + 4], edi
cmp dword [esp + 0x34], esi
jb 0x440104
ja 0x4400a0
cmp dword [esp + 0x30], esi
jbe 0x440104
nop
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*8]
push eax
lea ecx, [esp + 0x70]
push ebx
push ecx
call fcn.00456ad0
mov edx, dword [esp + 0x90]
add esp, 0xc
push edx
lea eax, [esp + 0x70]
push eax
call fcn.00456920
add esp, 8
test eax, eax
js 0x4400f0
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.00456920
add esp, 8
test eax, eax
js 0x4400f0
add dword [ebp], 1
adc dword [ebp + 4], 0
add esi, 1
adc edi, 0
cmp edi, dword [esp + 0x34]
jb 0x4400a0
ja 0x440104
cmp esi, dword [esp + 0x30]
jb 0x4400a0
mov eax, dword [esp + 0x14]
push eax
call fcn.004b7229
mov dword [esp + 0x18], 0
jmp 0x440bd6
cmp ecx, 0x17
jb 0x44024c
ja 0x440131
cmp eax, 0x4876e800
jbe 0x44024c
push 0x17
push 0x4876e800
push ecx
push eax
call fcn.004bdb80
mov esi, ebx
xor edi, edi
mov dword [esp + 0x44], esi
xor esi, esi
mov dword [esp + 0x64], edx
mov ebx, ecx
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [esp + 0x38], 0x4876e800
mov dword [esp + 0x3c], 0x17
test eax, eax
je 0x4401de
mov dword [esp + 0x24], eax
lea ecx, [ecx]
mov edx, dword [esp + 0x80]
push 0
push 1
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x2c]
push edi
push esi
push edx
mov edx, dword [esp + 0x94]
call fcn.0043d7e0
add esp, 0x18
add dword [ebp], eax
adc dword [ebp + 4], edx
cmp dword [0x5d5f9c], 1
jle 0x4401ba
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
push eax
push ecx
push str.so_far__found__I64u_primes_n
call fcn.004b7f6d
add esp, 0xc
add esi, 0x4876e800
adc edi, 0x17
mov edx, esi
add edx, 0x4876e800
mov eax, edi
adc eax, 0x17
dec dword [esp + 0x24]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
jne 0x440170
cmp dword [esp + 0x44], 0
ja 0x4401e9
test ebx, ebx
je 0x440225
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x44]
push 0
push 1
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x2c]
push edi
add ebx, esi
push esi
adc eax, edi
push edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], eax
call fcn.0043d7e0
add esp, 0x18
add dword [ebp], eax
adc dword [ebp + 4], edx
cmp dword [0x5d5f9c], 1
jle 0x440bd9
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
push eax
push ecx
push str.so_far__found__I64u_primes_n
call fcn.004b7f6d
add esp, 0xc
jmp 0x440bd9
mov eax, dword [esp + 0x80]
push 0
push 1
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0x88]
push 0
push 0
push eax
mov ecx, ebx
call fcn.0043d7e0
add esp, 0x18
mov dword [ebp], eax
mov dword [ebp + 4], edx
jmp 0x440bd9
test ecx, ecx
ja 0x44034b
jb 0x440292
cmp eax, 0xf4240
jae 0x44034b
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
xor esi, esi
lea ecx, [esp + 0x30]
push ecx
push esi
push 0xf4240
push esi
push esi
push ebx
push edx
push eax
mov dword [esp + 0x58], 0xf4240
mov dword [esp + 0x5c], esi
call fcn.0043f510
add esp, 0x20
xor edi, edi
mov dword [esp + 0x14], eax
mov dword [ebp], esi
mov dword [ebp + 4], esi
cmp dword [esp + 0x34], esi
jb 0x44036f
ja 0x4402e5
cmp dword [esp + 0x30], esi
jbe 0x44036f
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + esi*8]
push edx
lea eax, [esp + 0x70]
push ebx
push eax
call fcn.00456ad0
mov ecx, dword [esp + 0x90]
add esp, 0xc
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.00456920
add esp, 8
test eax, eax
js 0x440335
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.00456920
add esp, 8
test eax, eax
js 0x440335
add dword [ebp], 1
adc dword [ebp + 4], 0
add esi, 1
adc edi, 0
cmp edi, dword [esp + 0x34]
jb 0x4402e5
ja 0x44036f
cmp esi, dword [esp + 0x30]
jb 0x4402e5
jmp 0x44036f
mov edx, dword [esp + 0x80]
push ebp
push ecx
push eax
mov eax, dword [esp + 0x88]
push 0
push 0
push ebx
push edx
push eax
call fcn.0043f510
add esp, 0x20
mov dword [esp + 0x14], eax
cmp dword [esp + 0x90], 0
jle 0x440a47
mov ebx, dword [0x5d6980]
mov ecx, ebx
imul ecx, ecx, 0x178
xor edi, edi
push ecx
mov dword [esp + 0x28], edi
call fcn.004b7263
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [0x5d5f9c], edi
jle 0x4403c9
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
mov ecx, dword [esp + 0x90]
push edx
push eax
push ecx
push str.starting_PRP_tests_with__d_witnesses_on__I64u_surviving_candidates_n
call fcn.004b7f6d
mov ebx, dword [0x5d6980]
add esp, 0x10
lea edx, [ebx - 1]
mov dword [esp + 0x28], edi
test edx, edx
je 0x440473
jmp 0x4403e0
mov ebx, dword [esp + 0x28]
mov esi, ebx
imul esi, esi, 0x178
add esi, dword [esp + 0x18]
push 0
push 1
push 0
push 0
mov dword [esi + 0x164], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0
push 0
push 0
push 0
mov dword [esi + 0x16c], eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0
push 0
push esi
push 0x43f1d0
push 0
push 0
mov dword [esi + 0x170], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [esi + 0x170]
push 0xffffffffffffffff
push edx
mov dword [esi + 0x168], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add ebx, 1
mov dword [esp + 0x28], ebx
mov ebx, dword [0x5d6980]
lea eax, [ebx - 1]
cdq
adc edi, 0
cmp edi, edx
jb 0x4403e0
ja 0x440473
cmp dword [esp + 0x28], eax
jb 0x4403e0
mov ecx, dword [ebp]
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [ebp + 4]
push eax
push ecx
call fcn.004bdc20
xor esi, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], esi
cmp ebx, esi
jle 0x4404e6
mov edi, dword [esp + 0x18]
add edi, 0x12c
mov eax, dword [esp + 0x40]
add eax, esi
cmp dword [0x5d5f9c], 2
mov dword [edi], esi
mov dword [edi + 4], eax
mov esi, eax
jle 0x4404d3
mov ecx, dword [edi]
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
push str.thread__d_computing_PRPs_from__u_to__u_n
call fcn.004b7f6d
mov ebx, dword [0x5d6980]
add esp, 0x10
mov eax, dword [esp + 0x1c]
inc eax
add edi, 0x178
mov dword [esp + 0x1c], eax
cmp eax, ebx
jl 0x4404a1
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp]
mov eax, ebx
imul eax, eax, 0x178
cmp dword [eax + edx - 0x48], ecx
lea eax, [eax + edx - 0x48]
je 0x440501
mov dword [eax], ecx
cmp ebx, 1
jne 0x440512
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x44], ecx
jmp 0x440613
mov dword [esp + 0x1c], 0
test ebx, ebx
jle 0x440613
mov esi, dword [esp + 0x18]
add esi, 0x134
lea esp, [esp]
lea edx, [esi + 0x24]
push edx
call fcn.004565a0
add esp, 4
push esi
call fcn.004565a0
add esp, 4
lea edi, [esi + 0xc]
push edi
call fcn.004565a0
add esp, 4
lea ebx, [esi + 0x18]
push ebx
call fcn.004565a0
mov eax, dword [esp + 0x24]
add esp, 4
push eax
push esi
call fcn.00456880
mov ecx, dword [esp + 0x8c]
push ecx
push edi
call fcn.00456880
mov edx, dword [esp + 0x98]
push edx
push ebx
call fcn.00456880
mov ebx, dword [esi - 4]
mov edi, dword [esi - 8]
mov eax, dword [esp + 0xa8]
mov ecx, ebx
sub ecx, edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
mov dword [esi - 0xc], eax
call fcn.004b7263
mov dword [esi - 0xf0], eax
xor edx, edx
xor eax, eax
add esp, 0x1c
mov ecx, edi
cmp edx, eax
ja 0x4405f6
jb 0x4405c0
cmp ecx, ebx
jae 0x4405f6
lea ecx, [ecx]
mov edi, dword [esi - 0xf0]
mov ebx, dword [esp + 0x14]
mov ebx, dword [ebx + ecx*8]
mov eax, ecx
sub eax, dword [esi - 8]
add ecx, 1
mov dword [edi + eax*8], ebx
mov ebx, dword [esp + 0x14]
mov ebx, dword [ebx + ecx*8 - 4]
mov dword [edi + eax*8 + 4], ebx
mov edi, dword [esi - 4]
adc edx, 0
xor eax, eax
cmp edx, eax
jb 0x4405c0
ja 0x4405f6
cmp ecx, edi
jb 0x4405c0
mov eax, dword [esp + 0x1c]
mov ebx, dword [0x5d6980]
inc eax
add esi, 0x178
mov dword [esp + 0x1c], eax
cmp eax, ebx
jl 0x440530
mov dword [esp + 0x1c], 0
test ebx, ebx
jle 0x44080f
mov esi, dword [esp + 0x18]
add esi, 0x12c
lea ecx, [ecx]
lea edx, [ebx - 1]
cmp dword [esp + 0x1c], edx
jne 0x4407e1
mov edi, dword [esi]
mov edx, dword [esi + 4]
xor eax, eax
xor ecx, ecx
mov dword [esi - 0xc], eax
mov dword [esi - 8], eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
ja 0x4407f8
jb 0x440662
cmp edi, edx
jae 0x4407f8
mov ebx, dword [esp + 0x2c]
mov eax, edi
and eax, 0x80
xor ecx, ecx
or eax, ecx
jne 0x44072c
cmp dword [0x5d5f9c], ecx
jle 0x44072c
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4406a3
mov dword [esp + 0x24], eax
nop
push 0x5b214c
call fcn.004b7f6d
add esp, 4
dec dword [esp + 0x24]
jne 0x440690
mov eax, ebx
mov ecx, ebx
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp]
xor edx, edx
mov dword [esp + 0x48], edi
fild qword [esp + 0x48]
mov dword [esp + 0x50], edx
fild qword [esp + 0x50]
mov dword [esp + 0x58], ecx
mov ecx, eax
and eax, 0x7fffffff
fchs
and ecx, 0x80000000
faddp st(1)
mov dword [esp + 0x5c], eax
fild qword [esp + 0x58]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edx
fild qword [esp + 0x60]
fchs
faddp st(1)
fdivp st(1)
fmul qword [0x5b45c8]
call fcn.004bd160
push eax
push str.progress:__d__
call fcn.004b7f6d
mov dword [esp + 0x2c], eax
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
add esp, 0xc
mov eax, dword [esi - 0xe8]
mov edx, edi
sub edx, dword [esi]
mov ecx, dword [eax + edx*8]
mov edx, dword [esp + 0x20]
push ecx
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00456ad0
mov ecx, dword [esp + 0x90]
add esp, 0xc
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.00456920
add esp, 8
test eax, eax
js 0x4407be
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.00456920
add esp, 8
test eax, eax
js 0x4407be
mov edx, dword [esp + 0x90]
push edx
lea eax, [esp + 0x70]
push eax
call fcn.00456e30
add esp, 8
test eax, eax
je 0x4407be
mov eax, dword [esi - 0xe8]
mov edx, dword [esi - 0xc]
mov ecx, edi
sub ecx, dword [esi]
mov ebx, dword [eax + ecx*8]
mov dword [eax + edx*8], ebx
mov ecx, dword [eax + ecx*8 + 4]
mov ebx, dword [esp + 0x2c]
mov dword [eax + edx*8 + 4], ecx
add dword [esi - 0xc], 1
adc dword [esi - 8], 0
mov ecx, dword [esi + 4]
add edi, 1
adc ebx, 0
xor eax, eax
mov dword [esp + 0x2c], ebx
cmp ebx, eax
jb 0x440666
ja 0x4407f2
cmp edi, ecx
jb 0x440666
jmp 0x4407f2
mov edx, dword [esi + 0x40]
push edx
mov dword [esi + 0x38], 6
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ebx, dword [0x5d6980]
mov eax, dword [esp + 0x1c]
inc eax
add esi, 0x178
mov dword [esp + 0x1c], eax
cmp eax, ebx
jl 0x440630
xor esi, esi
xor edi, edi
test ebx, ebx
je 0x44085a
lea eax, [ebx - 1]
cdq
cmp edi, edx
ja 0x440847
jb 0x440825
cmp esi, eax
jae 0x440847
mov ecx, dword [esp + 0x18]
mov eax, esi
imul eax, eax, 0x178
mov edx, dword [eax + ecx + 0x170]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, dword [0x5d6980]
add esi, 1
mov eax, ebx
cdq
adc edi, 0
cmp edi, edx
jb 0x440817
ja 0x44085a
cmp esi, eax
jb 0x440817
lea eax, [ebx - 1]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
test eax, eax
je 0x4408f5
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x440880
mov ebx, dword [esp + 0x28]
mov esi, ebx
imul esi, esi, 0x178
add esi, dword [esp + 0x18]
mov eax, dword [esi + 0x16c]
push eax
mov dword [esi + 0x164], 7
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 0x168]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [esi + 0x168]
push edx
call edi
mov eax, dword [esi + 0x16c]
push eax
call edi
mov ecx, dword [esi + 0x170]
push ecx
call edi
add ebx, 1
adc dword [esp + 0x2c], 0
mov dword [esp + 0x28], ebx
mov ebx, dword [0x5d6980]
lea eax, [ebx - 1]
cdq
cmp dword [esp + 0x2c], edx
jb 0x440880
ja 0x4408f5
cmp dword [esp + 0x28], eax
jb 0x440880
cmp ebx, 1
jne 0x440913
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x124]
mov edi, dword [eax + 0x120]
mov dword [esp + 0x34], edx
jmp 0x4409f7
xor edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
cmp ebx, edi
jbe 0x4409f7
lea esp, [esp]
mov esi, dword [esp + 0x28]
imul esi, esi, 0x178
add esi, dword [esp + 0x18]
xor ecx, ecx
cmp dword [esi + 0x124], ecx
jb 0x440985
ja 0x440952
cmp dword [esi + 0x120], ecx
jbe 0x440985
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x44]
mov edx, dword [eax + ecx*8]
mov dword [ebx + edi*8], edx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebx + edi*8 + 4], eax
add edi, 1
adc dword [esp + 0x34], 0
inc ecx
mov eax, ecx
cdq
cmp edx, dword [esi + 0x124]
jb 0x440956
ja 0x440985
cmp eax, dword [esi + 0x120]
jb 0x440956
mov ecx, dword [esi + 0x44]
push ecx
call fcn.004b7229
lea edx, [esi + 0x158]
add esp, 4
push edx
call fcn.00456900
lea eax, [esi + 0x134]
add esp, 4
push eax
call fcn.00456900
lea ecx, [esi + 0x140]
add esp, 4
push ecx
call fcn.00456900
add esp, 4
add esi, 0x14c
push esi
call fcn.00456900
mov ecx, dword [esp + 0x30]
mov eax, dword [0x5d6980]
add esp, 4
add dword [esp + 0x28], 1
cdq
adc ecx, 0
mov dword [esp + 0x2c], ecx
cmp ecx, edx
jb 0x440930
ja 0x4409f7
cmp dword [esp + 0x28], eax
jb 0x440930
mov edx, dword [esp + 0x18]
push edx
call fcn.004b7229
add esp, 4
cmp dword [0x5d5f9c], 0
jle 0x440a25
mov esi, dword [esp + 0x24]
test esi, esi
jle 0x440a25
push 0x5b214c
call fcn.004b7f6d
add esp, 4
dec esi
jne 0x440a15
cmp dword [0x5d5f9c], 0
mov eax, dword [esp + 0x34]
mov dword [ebp], edi
mov dword [ebp + 4], eax
jle 0x440a47
push eax
push edi
push str.found__I64u_PRPs_n
call fcn.004b7f6d
add esp, 0xc
cmp dword [0x5d640c], 0
je 0x440b3a
cmp dword [esp + 0x90], 0
push 0x5ac544
jle 0x440a6a
push str.prp_values.dat
jmp 0x440a6f
push str.sieved_values.dat
call fcn.004b80e6
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x440aaa
call fcn.004b7db1
mov eax, dword [eax]
push eax
call fcn.004b731f
add esp, 4
push eax
push str.fopen_error:__s_n
call fcn.004b7f6d
push str.cant_open_file_for_writing_n
call fcn.004b7f6d
add esp, 0xc
jmp 0x440b3a
xor esi, esi
xor edi, edi
cmp dword [ebp + 4], esi
jb 0x440b31
ja 0x440ac0
cmp dword [ebp], esi
jbe 0x440b31
mov edi, edi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + esi*8]
mov eax, dword [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00456ad0
mov edx, dword [esp + 0x90]
add esp, 0xc
push edx
lea eax, [esp + 0x70]
push eax
call fcn.00456920
add esp, 8
test eax, eax
js 0x440b1f
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.00456920
add esp, 8
test eax, eax
js 0x440b1f
lea eax, [esp + 0x6c]
push eax
push 0x5ad6dc
push ebx
call fcn.00457f00
add esp, 0xc
add esi, 1
adc edi, 0
cmp edi, dword [ebp + 4]
jb 0x440ac0
ja 0x440b31
cmp esi, dword [ebp]
jb 0x440ac0
push ebx
call fcn.004b8276
add esp, 4
cmp dword [0x5d6408], 0
je 0x440bd9
xor esi, esi
xor edi, edi
cmp dword [ebp + 4], esi
jb 0x440bcc
ja 0x440b5b
cmp dword [ebp], esi
jbe 0x440bcc
mov ebx, dword [esp + 0x14]
nop
mov ecx, dword [ebx + esi*8]
mov edx, dword [esp + 0x20]
push ecx
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00456ad0
mov ecx, dword [esp + 0x90]
add esp, 0xc
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.00456920
add esp, 8
test eax, eax
js 0x440bba
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.00456920
add esp, 8
test eax, eax
js 0x440bba
lea edx, [esp + 0x6c]
push edx
push 0x5ad6dc
call fcn.00456570
add esp, 8
add esi, 1
adc edi, 0
cmp edi, dword [ebp + 4]
jb 0x440b60
ja 0x440bcc
cmp esi, dword [ebp]
jb 0x440b60
push 0x51a9dc
call fcn.004b7f6d
add esp, 4
lea eax, [esp + 0x6c]
push eax
call fcn.00456900
mov esi, dword [esp + 0x24]
add esp, 4
push esi
call fcn.00456900
add esp, 4
push esi
call fcn.004b7229
mov eax, dword [esp + 0x18]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret