Function at 0x42c590
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov dword [esp], 0x4421e8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call sym.s.._s.nimble_spkgs2_swinim_3.9.2_154c271e1d766fca5aea32beecec5645e6d2e114_swinim_swinstr.nim.c
cmp byte [eax], 0
jne 0x42cc28
mov edx, 4
mov ecx, 0x20
mov ebp, eax
call sym.ss_1
xor ecx, ecx
mov dword [esp + 0x58], 0
mov dword [esp + 0x28], eax
mov edi, eax
mov dword [esp + 0x5c], 0x444cb0
call fcn.00421050
cmp byte [ebp], 0
mov edx, eax
jne 0x42c895
lea ecx, [edi + 0x10]
call sym._11
movzx ebx, byte [ebp]
test bl, bl
jne 0x42c895
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x5c]
mov dword [esp + 4], 0xf4240
mov dword [esp], 2
mov ecx, dword [eax]
call sym._207
sub esp, 8
cmp byte [ebp], 0
jne 0x42c895
mov dword [esp + 4], edx
lea ecx, [esp + 0x58]
mov dword [esp], eax
call sym.a_1
sub esp, 8
mov edx, dword [esp + 0x58]
test edx, edx
je 0x42cee0
mov ecx, dword [esp + 0x5c]
cmp edx, 2
jne 0x42c8b8
cmp word [ecx + 4], 0xa0d
je 0x42cf32
test bl, bl
jne 0x42cb68
mov eax, dword [0x444c60]
mov edx, dword [0x444c64]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._16
sub esp, 0x14
cmp byte [ebp], 0
mov ebx, eax
jne 0x42c895
test eax, eax
jle 0x42c9c0
mov eax, dword [0x444c50]
mov edx, dword [0x444c54]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._16
sub esp, 0x14
cmp byte [ebp], 0
mov edi, eax
jne 0x42c895
mov eax, dword [0x444c50]
mov edx, dword [0x444c54]
test edi, edi
jle 0x42cb80
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
lea esi, [ebx + edi]
mov dword [esp + 4], edx
xor ebx, esi
xor edi, esi
call sym.a_1
sub esp, 8
test ebx, edi
js 0x42c890
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
lea ebx, [ecx - 1]
mov eax, ebx
sub eax, esi
cmp eax, 0xffffffff
je 0x42c755
test esi, esi
js 0x42cea0
cmp ecx, esi
jle 0x42cea0
lea ecx, [edx + esi + 4]
add eax, 1
test edx, edx
cmovne edx, ecx
xor ecx, ecx
mov dword [esp + 0x38], edx
cmp eax, ecx
jle 0x42c78a
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx + ecx]
lea edi, [ebx - 9]
mov edx, edi
cmp dl, 4
jbe 0x42cc40
cmp bl, 0x20
je 0x42cc40
mov dword [esp + 0x40], ecx
cmp byte [ebp], 0
jne 0x42c895
mov eax, dword [esp + 0x40]
lea ebx, [eax + esi]
xor esi, ebx
xor eax, ebx
mov dword [esp + 0x38], ebx
test esi, eax
js 0x42c890
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
lea esi, [edi - 1]
mov dword [esp + 0x3c], eax
mov eax, esi
xor eax, edi
not eax
or eax, esi
jns 0x42cb10
mov edx, esi
mov eax, esi
mov ecx, ebx
sub edx, ebx
xor eax, edx
xor ecx, edx
not eax
or eax, ecx
jns 0x42cb10
lea eax, [edx + 1]
xor edx, eax
mov dword [esp + 0x44], eax
test eax, edx
js 0x42cb10
test eax, eax
js 0x42d009
mov ecx, eax
call fcn.0040e030
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x68], eax
xor eax, eax
test edx, edx
je 0x42cb15
mov edx, edi
mov dword [esp + 0x48], esi
mov edi, ebp
mov esi, eax
mov ebp, edx
mov eax, dword [esp + 0x68]
cmp esi, eax
jge 0x42d073
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x42c84a
mov eax, dword [eax]
test eax, 0x40000000
je 0x42c84a
lea ecx, [esp + 0x68]
call sym..idata_7d
mov eax, dword [esp + 0x38]
mov ecx, esi
xor ecx, ebx
xor eax, ebx
test ecx, eax
js 0x42cb08
test ebx, ebx
js 0x42d08b
cmp ebx, ebp
jge 0x42d08b
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
movzx eax, byte [eax + ebx + 4]
add ebx, 1
mov byte [ecx + esi + 4], al
add esi, 1
cmp dword [esp + 0x44], esi
jg 0x42c824
mov ebp, edi
jmp 0x42cb15
call fcn.00409c50
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42c8a9
test dword [eax], 0x40000000
je 0x42c9a8
mov eax, dword [esp + 0x28]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
test bl, bl
je 0x42c67c
mov dword [esp + 0x60], 0
lea eax, [edx - 1]
mov dword [esp + 0x64], 0x444cb0
test edx, edx
js 0x42cc80
lea eax, [ecx + 4]
test ecx, ecx
cmovne ecx, eax
xor eax, eax
cmp edx, eax
jg 0x42cb50
mov dword [esp + 0x30], eax
mov dword [esp + 4], eax
lea eax, [esp + 0x60]
mov dword [esp], eax
call sym.idata_7t
sub esp, 8
lea esi, [esi]
cmp byte [ebp], 0
jne 0x42cec8
mov ebx, dword [esp + 0x30]
test ebx, ebx
jle 0x42cbd8
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x30]
jle 0x42cc50
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x30]
cmp byte [eax + esi + 4], 0x3a
je 0x42c963
mov eax, dword [0x444be0]
mov edx, dword [0x444be4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.ealloc__system_u7064_8
sub esp, 8
cmp byte [ebp], 0
jne 0x42cec8
mov eax, dword [esp + 0x30]
add ebx, 1
mov dword [esp + 0x38], ebx
xor eax, ebx
test ebx, eax
jns 0x42cca0
call fcn.00409c50
lea esi, [esi]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x42c994
test dword [eax], 0x40000000
je 0x42cc70
cmp byte [ebp], 0
je 0x42cb3d
jmp 0x42c895
mov dword [esp], eax
call fcn.00409450
mov eax, dword [esp + 0x28]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x58]
lea ecx, [eax + 0x18]
call fcn.0040b960
lea esi, [eax + 0x17]
lea edi, [eax + edx + 4]
mov ecx, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
xor esi, eax
mov dword [edi], 0x61766e69
mov dword [edi + 4], 0x2064696c
mov dword [edi + 8], 0x70747468
mov dword [edi + 0xc], 0x72657620
mov dword [edi + 0x10], 0x6e6f6973
mov dword [edi + 0x14], 0x60202c
jns 0x42ca30
mov edx, dword [esp + 0x38]
test edx, edx
jns 0x42ca30
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], eax
call fcn.00409c50
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
jmp 0x42ca34
lea edi, [eax + ecx + 0x1b]
mov edx, dword [esp + 0x58]
test edx, edx
jle 0x42caa8
mov eax, dword [esp + 0x5c]
mov esi, edx
mov dword [esp + 0x44], eax
lea eax, [edx + 1]
xor esi, eax
test esi, eax
js 0x42cc10
test eax, eax
js 0x42cfc8
mov esi, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp], edi
add esi, 4
mov dword [esp + 0x4c], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x48], edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
add eax, edx
xor esi, eax
jns 0x42ca98
xor edx, eax
js 0x42cc10
mov dword [esp + 0x38], eax
lea edi, [eax + ecx + 4]
mov dword [esp + 0x3c], eax
lea esi, [esi]
mov esi, 0x60
mov word [edi], si
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add esi, 1
mov eax, edi
xor eax, esi
test esi, eax
jns 0x42cad2
mov dword [esp + 0x38], ecx
mov esi, edi
call fcn.00409c50
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x38], ecx
call sym.ealloc__system_u7064_8
sub esp, 8
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x42caf9
test dword [ecx], 0x40000000
je 0x42ceb8
cmp byte [ebp], 0
je 0x42c6c2
jmp 0x42c895
mov ebp, edi
lea esi, [esi]
call fcn.00409c50
cmp byte [ebp], 0
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
jne 0x42c895
mov esi, dword [esp + 0x28]
mov dword [esp], edx
mov dword [esp + 4], eax
lea ecx, [esi + 8]
call sym.a_1
sub esp, 8
mov ebx, 1
jmp 0x42c612
cmp byte [ecx + eax], 0x3a
je 0x42c8ed
add eax, 1
jmp 0x42c8e5
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0x444cb0
jmp 0x42c8db
mov eax, dword [0x444c40]
mov edx, dword [0x444c44]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._16
sub esp, 0x14
cmp byte [ebp], 0
mov edi, eax
jne 0x42c895
test eax, eax
jle 0x42ce70
mov eax, dword [0x444c40]
mov edx, dword [0x444c44]
jmp 0x42c70f
mov eax, dword [0x444be0]
mov edx, dword [0x444be4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.ealloc__system_u7064_8
sub esp, 8
cmp byte [ebp], 0
jne 0x42cec8
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
test ecx, ecx
jne 0x42cc50
xor ebx, ebx
jmp 0x42c926
mov dword [esp + 0x44], ecx
call fcn.00409c50
mov ecx, dword [esp + 0x44]
jmp 0x42caa8
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
add ecx, 1
jmp 0x42c767
sub eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym.bss
jmp 0x42c980
mov dword [esp], eax
call fcn.00409450
jmp 0x42c994
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00410000
jmp 0x42c908
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
lea esi, [edi - 1]
mov dword [esp + 0x3c], eax
mov eax, edi
xor eax, esi
not eax
or eax, esi
jns 0x42cd88
mov eax, esi
mov edx, esi
mov ecx, ebx
sub eax, ebx
xor edx, eax
xor ecx, eax
not edx
or edx, ecx
jns 0x42cd88
lea edx, [eax + 1]
xor eax, edx
mov dword [esp + 0x44], edx
test edx, eax
js 0x42cd88
test edx, edx
js 0x42d03d
mov ecx, edx
call fcn.0040e030
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x68], eax
xor eax, eax
test edx, edx
je 0x42cd8d
mov edx, ebp
mov dword [esp + 0x48], esi
mov ebp, edi
mov esi, eax
mov edi, edx
mov edx, dword [esp + 0x68]
cmp esi, edx
jge 0x42d0a2
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x42cd3b
mov eax, dword [eax]
test eax, 0x40000000
je 0x42cd3b
lea ecx, [esp + 0x68]
call sym..idata_7d
mov eax, dword [esp + 0x38]
mov edx, esi
xor edx, ebx
xor eax, ebx
test edx, eax
js 0x42cd80
test ebx, ebx
js 0x42d0b8
cmp ebp, ebx
jle 0x42d0b8
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x6c]
movzx eax, byte [eax + ebx + 4]
add ebx, 1
mov byte [edx + esi + 4], al
add esi, 1
cmp dword [esp + 0x44], esi
jg 0x42cd15
mov ebp, edi
jmp 0x42cd8d
mov ebp, edi
lea esi, [esi]
call fcn.00409c50
cmp byte [ebp], 0
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
jne 0x42ce37
mov dword [esp + 0x10], 0x444bc0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00412ea0
sub esp, 0x14
cmp byte [ebp], 0
mov esi, edx
jne 0x42ce2b
mov edi, dword [esp + 0x28]
mov ecx, dword [edi + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004215b0
sub esp, 0x10
cmp byte [ebp], 0
jne 0x42ce2b
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
call fcn.0041fd20
cmp eax, 0x2710
jle 0x42ce2b
cmp byte [ebp], 0
jne 0x42ce2b
mov eax, dword [0x444b9c]
mov edx, dword [0x444ba0]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.ealloc__system_u7064_8
sub esp, 8
test esi, esi
je 0x42ce37
test dword [esi], 0x40000000
je 0x42ce60
test ebx, ebx
je 0x42c980
test dword [ebx], 0x40000000
jne 0x42c980
mov dword [esp], ebx
call fcn.00409450
jmp 0x42c980
mov dword [esp], esi
call fcn.00409450
jmp 0x42ce37
mov eax, dword [0x444bfc]
mov edx, dword [0x444c00]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.ealloc__system_u7064_8
sub esp, 8
cmp byte [ebp], 0
je 0x42cbc2
jmp 0x42c895
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00410000
jmp 0x42c78e
mov dword [esp], ecx
call fcn.00409450
jmp 0x42caf9
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x42c988
jmp 0x42c895
mov esi, dword [esp + 0x2c]
cmp byte [esi + 4], 0
je 0x42cf04
mov ecx, dword [esi]
mov edx, 2
call sym._195
cmp byte [ebp], 0
jne 0x42c895
mov byte [esi + 4], 0
cmp byte [ebp], 0
jne 0x42c895
mov eax, dword [0x444b3c]
mov edx, dword [0x444b40]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.ealloc__system_u7064_8
sub esp, 8
cmp byte [ebp], 0
jne 0x42c895
mov edx, dword [0x4451a4]
mov eax, dword [0x4451a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._14
sub esp, 8
cmp byte [ebp], 0
mov edx, eax
jne 0x42c895
mov esi, dword [esp + 0x28]
lea ecx, [esi + 0x1c]
call fcn.004223d0
cmp byte [esp + 0x34], 0
je 0x42c895
mov ecx, esi
call sym.stem_u7067_12
cmp byte [ebp], 0
jne 0x42c895
cmp eax, 0xcc
je 0x42c895
mov edx, dword [esi + 0x1c]
mov edi, dword [esp + 0x2c]
mov dword [esp], 1
lea ecx, [edi + 0x90]
call sym._263
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
sub esp, 4
mov edx, dword [esi + 0x10]
mov dword [esp], ecx
mov ecx, edi
mov dword [esp + 4], ebx
call sym._8_1
sub esp, 8
jmp 0x42c895
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000000
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x44], ecx
call fcn.0040a390
mov ecx, dword [esp + 0x44]
jmp 0x42caa8
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
call fcn.0040a390
jmp 0x42cb15
mov eax, edx
mov dword [esp + 0x10], 0x7fffffff
sar eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040a390
jmp 0x42cd8d
mov edx, eax
mov dword [esp], esi
mov ebp, edi
sub edx, 1
mov dword [esp + 4], edx
call sym.bss
jmp 0x42cb15
mov esi, dword [esp + 0x48]
mov dword [esp], ebx
mov ebp, edi
mov dword [esp + 4], esi
call sym.bss
jmp 0x42cb15
sub edx, 1
mov dword [esp], esi
mov ebp, edi
mov dword [esp + 4], edx
call sym.bss
jmp 0x42cd8d
mov esi, dword [esp + 0x48]
mov dword [esp], ebx
mov ebp, edi
mov dword [esp + 4], esi
call sym.bss
jmp 0x42cd8d