Function at 0x424470
Capabilities:
Check for software breakpoints
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x874
push esi
movzx eax, word [ebp - 4]
movzx ecx, byte [0x431e26]
lea edx, [eax + ecx - 0x3b]
mov byte [ebp - 0x869], dl
mov dword [0x431e40], 0x85d
mov eax, dword [0x431e40]
add eax, 0x41
movzx ecx, byte [0x431e26]
sub eax, ecx
movzx edx, word [ebp - 4]
add edx, eax
mov word [ebp - 4], dx
movzx eax, word [ebp - 4]
movzx ecx, byte [ebp - 0x869]
imul eax, ecx
movzx edx, byte [0x431e26]
sub eax, edx
mov byte [ebp - 0x869], al
mov eax, dword [0x431e40]
push eax
call fcn.00423da0
add esp, 4
mov dword [0x431e40], eax
movzx ecx, byte [0x431e1d]
cmp ecx, dword [0x431e40]
ja 0x42454d
mov dl, byte [0x431e26]
mov byte [0x431e17], dl
mov eax, dword [0x431e40]
sub eax, 0x5d
movzx ecx, byte [0x431e26]
sub eax, ecx
mov byte [ebp - 0x869], al
mov edx, dword [0x431e40]
sub edx, 0x5d
movzx eax, byte [0x431e26]
sub edx, eax
mov byte [ebp - 0x869], dl
movzx ecx, byte [0x431e26]
imul ecx, ecx, 0x54
add ecx, dword [0x431e40]
movzx edx, byte [ebp - 0x869]
sub edx, ecx
mov byte [ebp - 0x869], dl
movzx eax, word [0x431e44]
add eax, 0x41
movzx ecx, byte [0x431e26]
sub eax, ecx
add eax, dword [0x431e40]
mov dword [0x431e40], eax
mov edx, dword [0x431e40]
push edx
call fcn.00423b50
add esp, 4
mov dword [0x431e40], eax
movzx eax, byte [0x431e29]
movzx ecx, byte [0x431e2b]
add eax, ecx
cmp eax, 0x217
jne 0x4245cc
movzx edx, byte [0x431e26]
movzx eax, byte [0x431e26]
lea ecx, [edx + eax + 5]
mov byte [ebp - 0x869], cl
movzx eax, byte [ebp - 0x869]
add eax, 2
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov byte [0x431e26], al
jmp 0x424623
mov ecx, dword [0x431e48]
sub ecx, 0x2111
mov esi, dword [0x431e4c]
sbb esi, 0
movzx eax, byte [0x431e26]
cdq
sub ecx, eax
sbb esi, edx
movzx eax, byte [0x431e2f]
cdq
add ecx, eax
adc esi, edx
movzx eax, byte [0x431e2f]
cdq
add eax, ecx
adc edx, esi
mov byte [0x431e2f], al
movzx edx, byte [0x431e26]
sub edx, 0x5d
movzx eax, byte [0x431e26]
sub edx, eax
mov byte [ebp - 0x869], dl
push 0
push 9
push 7
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov dword [0x445b0c], eax
movzx ecx, byte [0x431e35]
cmp ecx, dword [0x431e40]
ja 0x424696
mov dl, byte [ebp - 0x869]
mov byte [0x431e2f], dl
mov eax, dword [0x431e40]
sub eax, 0x5d
movzx ecx, byte [ebp - 0x869]
sub eax, ecx
mov word [ebp - 4], ax
mov edx, dword [0x431e40]
sub edx, 0x5d
movzx eax, byte [ebp - 0x869]
sub edx, eax
mov word [ebp - 4], dx
movzx ecx, byte [ebp - 0x869]
imul ecx, ecx, 0x54
add ecx, dword [0x431e40]
movzx edx, word [ebp - 4]
sub edx, ecx
mov word [ebp - 4], dx
mov al, byte [0x431e23]
mov byte [ebp - 0x870], al
cmp byte [ebp - 0x870], 3
je 0x4246c1
cmp byte [ebp - 0x870], 0x1e
je 0x4246ff
cmp byte [ebp - 0x870], 0xcc
je 0x424735
jmp 0x42475b
movzx eax, byte [ebp - 0x869]
cdq
mov ecx, dword [0x431e4c]
push ecx
mov ecx, dword [0x431e48]
push ecx
push edx
push eax
call fcn.00410d30
mov ecx, eax
mov esi, edx
movzx eax, byte [0x431e26]
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x431e48], ecx
mov dword [0x431e4c], esi
jmp 0x424795
push 0
push 0x100be
mov edx, dword [0x431e4c]
push edx
mov eax, dword [0x431e48]
push eax
call fcn.00410d30
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x869]
cdq
push edx
push eax
push esi
push ecx
call fcn.00410d30
mov byte [ebp - 0x869], al
jmp 0x424795
mov ecx, dword [0x431e48]
sub ecx, 0x5d
mov esi, dword [0x431e4c]
sbb esi, 0
movzx eax, byte [ebp - 0x869]
cdq
sub ecx, eax
sbb esi, edx
mov byte [0x431e26], cl
jmp 0x424795
movzx edx, byte [0x431e26]
movzx eax, byte [ebp - 0x869]
lea ecx, [edx + eax + 5]
mov byte [0x431e26], cl
movzx edx, byte [ebp - 0x869]
add edx, 0x41
movzx eax, byte [0x431e26]
sub edx, eax
movzx ecx, byte [0x431e26]
add ecx, edx
mov byte [0x431e26], cl
mov edx, 0x85d
mov word [ebp - 4], dx
push 0x445b10
movzx eax, word [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov word [0x431e44], ax
movzx ecx, byte [ebp - 0x869]
movzx edx, byte [0x431e26]
lea eax, [ecx + edx + 5]
mov word [ebp - 4], ax
mov ecx, dword [0x431e40]
push ecx
call fcn.00423da0
add esp, 4
mov dword [0x431e40], eax
movzx edx, byte [0x431e1d]
cmp edx, dword [0x431e40]
ja 0x424845
mov al, byte [0x431e26]
mov byte [0x431e17], al
mov ecx, dword [0x431e40]
sub ecx, 0x5d
movzx edx, byte [0x431e26]
sub ecx, edx
mov byte [ebp - 0x869], cl
mov eax, dword [0x431e40]
sub eax, 0x5d
movzx ecx, byte [0x431e26]
sub eax, ecx
mov byte [ebp - 0x869], al
movzx edx, byte [0x431e26]
imul edx, edx, 0x54
add edx, dword [0x431e40]
movzx eax, byte [ebp - 0x869]
sub eax, edx
mov byte [ebp - 0x869], al
movzx ecx, byte [0x431e26]
sub ecx, 0x2111
movzx edx, word [0x431e44]
sub ecx, edx
add ecx, dword [0x431e40]
add ecx, dword [0x431e40]
mov dword [0x431e40], ecx
mov eax, dword [0x431e40]
push eax
call fcn.004239b0
add esp, 4
mov dword [0x431e40], eax
mov dword [0x4467f8], 2
jmp 0x42489b
mov ecx, dword [0x4467f8]
add ecx, 1
mov dword [0x4467f8], ecx
cmp dword [0x4467f8], 7
jge 0x4248f3
mov edx, dword [0x4467f8]
movzx eax, byte [edx + 0x431e28]
movzx ecx, byte [ebp - 0x869]
imul ecx, eax
mov byte [ebp - 0x869], cl
movzx eax, byte [ebp - 0x869]
add eax, 2
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov byte [0x431e26], al
movzx edx, byte [ebp - 0x869]
movzx eax, byte [0x431e29]
cmp edx, eax
jne 0x4248f1
jmp 0x4248f3
jmp 0x42488c
mov ecx, 0x85d
mov word [ebp - 4], cx
mov ecx, dword [0x431e48]
sub ecx, 0x2111
mov esi, dword [0x431e4c]
sbb esi, 0
mov edx, dword [0x431e40]
xor eax, eax
sub ecx, edx
sbb esi, eax
movzx eax, byte [ebp - 0x869]
cdq
add ecx, eax
adc esi, edx
movzx eax, byte [ebp - 0x869]
cdq
add eax, ecx
adc edx, esi
mov byte [ebp - 0x869], al
movzx ecx, word [ebp - 4]
push ecx
push 0x445b10
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov word [ebp - 4], ax
movzx edx, byte [ebp - 0x869]
movzx eax, byte [0x431e26]
lea ecx, [edx + eax + 5]
mov word [ebp - 4], cx
movzx edx, byte [0x431e13]
cmp edx, 0x1476
jne 0x4249aa
movzx eax, byte [0x431e17]
movzx ecx, byte [0x431e26]
add ecx, eax
mov byte [0x431e26], cl
movzx edx, byte [ebp - 0x869]
movzx eax, byte [0x431e26]
imul edx, eax
movzx ecx, byte [0x431e26]
sub edx, ecx
mov byte [0x431e26], dl
movzx edx, byte [0x431e37]
movzx eax, word [0x431e44]
cmp edx, eax
jl 0x424a2c
push 0
push 0x100be
mov ecx, dword [0x431e4c]
push ecx
mov edx, dword [0x431e48]
push edx
call fcn.00410d30
mov ecx, eax
mov esi, edx
movzx eax, word [0x431e44]
cdq
push edx
push eax
push esi
push ecx
call fcn.00410d30
mov word [0x431e44], ax
movzx eax, byte [0x431e32]
cdq
add eax, dword [0x431e48]
adc edx, dword [0x431e4c]
mov byte [0x431e32], al
mov ecx, dword [0x431e48]
sub ecx, 0x5d
mov esi, dword [0x431e4c]
sbb esi, 0
movzx eax, word [0x431e44]
cdq
sub ecx, eax
sbb esi, edx
mov word [ebp - 4], cx
movzx edx, byte [0x431e11]
movzx eax, byte [0x431e13]
add edx, eax
cmp edx, 0x217
jne 0x424a7a
movzx ecx, byte [0x431e26]
movzx edx, byte [0x431e26]
lea eax, [ecx + edx + 5]
mov byte [ebp - 0x869], al
movzx eax, byte [ebp - 0x869]
add eax, 2
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov byte [0x431e26], al
jmp 0x424ad1
mov ecx, dword [0x431e48]
sub ecx, 0x2111
mov esi, dword [0x431e4c]
sbb esi, 0
movzx eax, byte [0x431e26]
cdq
sub ecx, eax
sbb esi, edx
movzx eax, byte [0x431e17]
cdq
add ecx, eax
adc esi, edx
movzx eax, byte [0x431e17]
cdq
add eax, ecx
adc edx, esi
mov byte [0x431e17], al
movzx edx, byte [0x431e26]
sub edx, 0x5d
movzx eax, byte [0x431e26]
sub edx, eax
mov byte [ebp - 0x869], dl
mov ecx, dword [0x431e40]
add ecx, 0x41
xor esi, esi
sub ecx, dword [0x431e48]
sbb esi, dword [0x431e4c]
movzx eax, byte [ebp - 0x869]
cdq
add eax, ecx
adc edx, esi
mov byte [ebp - 0x869], al
movzx edx, word [ebp - 4]
movzx eax, byte [0x431e26]
lea ecx, [edx + eax - 0x3b]
mov dword [0x431e40], ecx
mov dword [0x4467f8], 7
jmp 0x424b2a
mov edx, dword [0x4467f8]
sub edx, 1
mov dword [0x4467f8], edx
cmp dword [0x4467f8], 1
jle 0x424b66
mov eax, dword [0x4467f8]
movzx ecx, byte [eax + 0x431e28]
sub ecx, dword [0x431e40]
mov edx, dword [0x4467f8]
mov byte [edx + 0x431e28], cl
movzx eax, word [ebp - 4]
add eax, 2
sub eax, dword [0x431e40]
mov byte [ebp - 0x869], al
jmp 0x424b1b
movzx ecx, byte [0x431e11]
movzx edx, byte [0x431e13]
add ecx, edx
cmp ecx, 0x217
jne 0x424bb4
movzx eax, byte [0x431e26]
movzx ecx, byte [0x431e26]
lea edx, [eax + ecx + 5]
mov byte [ebp - 0x869], dl
movzx eax, byte [ebp - 0x869]
add eax, 2
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov byte [0x431e26], al
jmp 0x424c0b
mov ecx, dword [0x431e48]
sub ecx, 0x2111
mov esi, dword [0x431e4c]
sbb esi, 0
movzx eax, byte [0x431e26]
cdq
sub ecx, eax
sbb esi, edx
movzx eax, byte [0x431e17]
cdq
add ecx, eax
adc esi, edx
movzx eax, byte [0x431e17]
cdq
add eax, ecx
adc edx, esi
mov byte [0x431e17], al
movzx edx, byte [0x431e26]
sub edx, 0x5d
movzx eax, byte [0x431e26]
sub edx, eax
mov byte [ebp - 0x869], dl
mov cl, byte [0x431e3b]
mov byte [ebp - 0x874], cl
cmp byte [ebp - 0x874], 3
je 0x424c34
cmp byte [ebp - 0x874], 0x1e
je 0x424c50
cmp byte [ebp - 0x874], 0xcc
je 0x424c69
jmp 0x424c7f
movzx edx, word [ebp - 4]
imul edx, dword [0x431e40]
movzx eax, byte [ebp - 0x869]
sub edx, eax
mov dword [0x431e40], edx
jmp 0x424cb3
mov ecx, dword [0x431e40]
imul ecx, ecx, 0x100be
movzx edx, word [ebp - 4]
imul ecx, edx
mov word [ebp - 4], cx
jmp 0x424cb3
mov eax, dword [0x431e40]
sub eax, 0x5d
movzx ecx, word [ebp - 4]
sub eax, ecx
mov byte [ebp - 0x869], al
jmp 0x424cb3
movzx edx, byte [ebp - 0x869]
movzx eax, word [ebp - 4]
lea ecx, [edx + eax + 5]
mov byte [ebp - 0x869], cl
movzx edx, word [ebp - 4]
add edx, 0x41
movzx eax, byte [ebp - 0x869]
sub edx, eax
movzx ecx, byte [ebp - 0x869]
add ecx, edx
mov byte [ebp - 0x869], cl
movzx edx, byte [0x431e26]
sub edx, 0x5d
movzx eax, byte [ebp - 0x869]
sub edx, eax
mov word [ebp - 4], dx
mov ecx, dword [0x431e40]
push ecx
call fcn.00423da0
add esp, 4
mov dword [0x431e40], eax
movzx edx, byte [0x431e11]
movzx eax, byte [0x431e13]
add edx, eax
cmp edx, 0x217
jne 0x424d26
movzx ecx, byte [0x431e26]
movzx edx, byte [0x431e26]
lea eax, [ecx + edx + 5]
mov byte [ebp - 0x869], al
movzx ecx, byte [ebp - 0x869]
add ecx, 2
sub ecx, dword [0x431e40]
mov byte [0x431e26], cl
jmp 0x424d6b
mov edx, dword [0x431e40]
sub edx, 0x2111
movzx eax, byte [0x431e26]
sub edx, eax
movzx ecx, byte [0x431e17]
add edx, ecx
movzx eax, byte [0x431e17]
add eax, edx
mov byte [0x431e17], al
movzx ecx, byte [0x431e26]
sub ecx, 0x5d
movzx edx, byte [0x431e26]
sub ecx, edx
mov byte [ebp - 0x869], cl
movzx eax, byte [0x431e26]
mov ecx, dword [0x431e40]
lea edx, [ecx + eax - 0x3b]
mov word [0x431e44], dx
mov eax, dword [0x431e40]
push eax
call fcn.00423b50
add esp, 4
mov dword [0x431e40], eax
movzx ecx, byte [0x431e29]
movzx edx, byte [0x431e2b]
add ecx, edx
cmp ecx, 0x217
jne 0x424de4
movzx eax, byte [0x431e26]
movzx ecx, byte [0x431e26]
lea edx, [eax + ecx + 5]
mov byte [ebp - 0x869], dl
movzx eax, byte [ebp - 0x869]
add eax, 2
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov byte [0x431e26], al
jmp 0x424e3b
mov ecx, dword [0x431e48]
sub ecx, 0x2111
mov esi, dword [0x431e4c]
sbb esi, 0
movzx eax, byte [0x431e26]
cdq
sub ecx, eax
sbb esi, edx
movzx eax, byte [0x431e2f]
cdq
add ecx, eax
adc esi, edx
movzx eax, byte [0x431e2f]
cdq
add eax, ecx
adc edx, esi
mov byte [0x431e2f], al
movzx edx, byte [0x431e26]
sub edx, 0x5d
movzx eax, byte [0x431e26]
sub edx, eax
mov byte [ebp - 0x869], dl
movzx ecx, byte [0x431e15]
push ecx
call section..text
add esp, 4
movzx edx, byte [0x431e2b]
cmp edx, 0x1476
jne 0x424e90
movzx eax, byte [0x431e2f]
movzx ecx, byte [0x431e26]
add ecx, eax
mov byte [0x431e26], cl
movzx edx, byte [ebp - 0x869]
movzx eax, byte [0x431e26]
imul edx, eax
movzx ecx, byte [0x431e26]
sub edx, ecx
mov byte [0x431e26], dl
movzx edx, byte [0x431e26]
mov eax, dword [0x431e40]
imul eax, eax, 0x54
add edx, eax
movzx ecx, word [ebp - 4]
sub ecx, edx
mov word [ebp - 4], cx
mov edx, dword [0x431e40]
push edx
call fcn.00420f10
add esp, 4
mov dword [0x431e40], eax
movzx eax, byte [0x431e35]
cmp eax, dword [0x431e40]
ja 0x424f20
mov cl, byte [ebp - 0x869]
mov byte [0x431e2f], cl
mov edx, dword [0x431e40]
sub edx, 0x5d
movzx eax, byte [ebp - 0x869]
sub edx, eax
mov word [ebp - 4], dx
mov ecx, dword [0x431e40]
sub ecx, 0x5d
movzx edx, byte [ebp - 0x869]
sub ecx, edx
mov word [ebp - 4], cx
movzx eax, byte [ebp - 0x869]
imul eax, eax, 0x54
add eax, dword [0x431e40]
movzx ecx, word [ebp - 4]
sub ecx, eax
mov word [ebp - 4], cx
movzx eax, byte [0x431e26]
add eax, 0x41
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov ecx, dword [0x431e40]
xor esi, esi
add ecx, eax
adc esi, edx
mov dword [0x431e40], ecx
movzx edx, byte [0x431e26]
sub edx, 0x5d
sub edx, dword [0x431e40]
mov word [ebp - 4], dx
movzx eax, byte [0x431e1f]
movzx ecx, byte [ebp - 0x869]
cmp eax, ecx
jl 0x424fb4
mov edx, dword [0x431e40]
imul edx, edx, 0x100be
movzx eax, byte [ebp - 0x869]
imul edx, eax
mov byte [ebp - 0x869], dl
movzx ecx, byte [0x431e1a]
add ecx, dword [0x431e40]
mov byte [0x431e1a], cl
mov edx, dword [0x431e40]
sub edx, 0x5d
movzx eax, byte [ebp - 0x869]
sub edx, eax
mov word [ebp - 4], dx
mov ecx, dword [0x431e40]
sub ecx, 0x2111
movzx edx, byte [ebp - 0x869]
sub ecx, edx
movzx eax, word [ebp - 4]
add ecx, eax
movzx edx, word [ebp - 4]
add edx, ecx
mov word [ebp - 4], dx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10