Function at 0x424000
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x5c]
xor eax, eax
push ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov al, byte [ebx]
push esi
cmp al, 0x23
push edi
je 0x42453c
mov esi, dword [sym.imp.MSVCRT.dll_malloc]
push 0xabe
call esi
mov edi, eax
push 0xabe
mov dword [esp + 0x18], edi
call esi
push 0xabe
mov dword [esp + 0x20], eax
call esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ebp, eax
test edi, edi
mov dword [esp + 0x20], ebp
je 0x424522
test esi, esi
je 0x424514
test ebp, ebp
je 0x424514
mov edi, dword [esp + 0x6c]
mov ecx, 0x2b9
xor eax, eax
push ebp
rep stosd dword es:[edi], eax
mov ecx, 0x2af
mov edi, esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [esp + 0x14]
mov ecx, 0x2af
xor eax, eax
push esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x2af
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov al, 0x2d
mov byte [esp + 0x3c], 0x25
mov byte [esp + 0x3f], al
mov byte [esp + 0x43], al
lea eax, [esp + 0x3c]
mov byte [esp + 0x3d], 0x5b
push eax
push ebx
mov byte [esp + 0x46], 0x30
mov byte [esp + 0x48], 0x39
mov byte [esp + 0x49], 0x2c
mov byte [esp + 0x4a], 0x41
mov byte [esp + 0x4c], 0x46
mov byte [esp + 0x4d], 0x5d
mov byte [esp + 0x4e], 0x24
mov byte [esp + 0x4f], 0x25
mov byte [esp + 0x50], 0x73
mov byte [esp + 0x51], 0
call dword [sym.imp.MSVCRT.dll_sscanf]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0xba2e8ba3
shl ecx, 2
mul ecx
mov ebx, edx
shr ebx, 3
cmp ebx, 1
jge 0x424134
mov ecx, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll_free]
push ecx
call edi
push esi
call edi
push ebp
call edi
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x68], 0x24
mov byte [esp + 0x69], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jne 0x4241a6
lea esi, [esp + 0x68]
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x424179
test cl, cl
je 0x424175
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x424179
add eax, 2
add esi, 2
test cl, cl
jne 0x424155
xor eax, eax
jmp 0x42417e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4241a6
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.MSVCRT.dll_free]
push eax
call esi
mov ecx, dword [esp + 0x18]
push ecx
call esi
push ebp
call esi
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
xor edx, edx
xor eax, eax
mov dword [esp + 0x55], edx
mov dword [esp + 0x45], eax
mov dword [esp + 0x59], edx
mov dword [esp + 0x49], eax
mov dword [esp + 0x5d], edx
mov dword [esp + 0x4d], eax
mov word [esp + 0x61], dx
mov edi, dword [sym.imp.MSVCRT.dll_strstr]
xor ecx, ecx
mov byte [esp + 0x54], 0
mov byte [esp + 0x63], dl
mov byte [esp + 0x44], dl
mov word [esp + 0x51], ax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x44], edx
mov byte [esp + 0x53], al
mov dword [esp + 0x58], ecx
mov dword [esp + 0x48], edx
lea eax, [esp + 0x68]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], edx
push eax
push ebp
mov dword [esp + 0x68], ecx
mov dword [esp + 0x58], edx
call edi
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x424352
lea ecx, [esp + 0x68]
lea esi, [ebp + 1]
push ecx
push esi
call edi
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ecx, ecx
jle 0x424251
cmp byte [eax + edx], 0x24
je 0x42424d
inc eax
cmp eax, ecx
jl 0x424240
jmp 0x424251
mov byte [eax + edx], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x424304
sub eax, ebp
dec eax
cmp eax, 0xf
jle 0x42426a
mov eax, 0xf
push eax
lea edx, [esp + 0x58]
push esi
mov esi, dword [sym.imp.MSVCRT.dll_strncpy]
push edx
call esi
mov eax, dword [esp + 0x30]
or ecx, 0xffffffff
add esp, 0xc
lea edx, [eax + 1]
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xf
jbe 0x42429b
mov ecx, 0xf
jmp 0x4242a7
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x48]
push edx
push ecx
call esi
mov ebp, dword [esp + 0x78]
mov al, 0x64
add esp, 0xc
mov cl, 0x2e
mov byte [esp + 0x29], al
mov byte [esp + 0x2c], al
mov byte [esp + 0x2f], al
lea edx, [ebp + 4]
mov byte [esp + 0x2a], cl
mov byte [esp + 0x2d], cl
lea eax, [ebp + 3]
push edx
lea ecx, [ebp + 2]
push eax
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x60]
push edx
push eax
mov byte [esp + 0x3c], 0x25
mov byte [esp + 0x3f], 0x25
mov byte [esp + 0x42], 0x25
mov byte [esp + 0x44], 0
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x14
jmp 0x42433c
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xf
jbe 0x42431c
mov ecx, 0xf
jmp 0x424328
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x48]
push esi
push ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov ebp, dword [esp + 0x78]
add esp, 0xc
lea edx, [esp + 0x44]
push edx
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
mov byte [ebp + 0xae3], al
jmp 0x424356
mov ebp, dword [esp + 0x6c]
mov byte [ebp], bl
mov ebx, dword [esp + 0x20]
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xf
jbe 0x424392
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.MSVCRT.dll_free]
push eax
call esi
mov ecx, dword [esp + 0x18]
push ecx
call esi
push ebx
call esi
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0xac6]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xor ebx, ebx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp]
mov edi, dword [esp + 0x10]
test al, al
jbe 0x42443b
mov esi, edi
xor edx, edx
cmp dword [esp + 0x18], 4
jne 0x4243e0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 0
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov al, byte [eax + ecx]
cmp al, 0x41
jb 0x4243f7
cmp al, 0x46
ja 0x4243f7
add al, 0xc9
jmp 0x42440d
cmp al, 0x30
jb 0x424403
cmp al, 0x39
ja 0x424403
add al, 0xd0
jmp 0x42440d
cmp al, 0x61
jb 0x42440d
cmp al, 0x66
ja 0x42440d
add al, 0xa9
mov ecx, dword [esp + 0x18]
shl al, cl
test al, 8
je 0x42441f
mov byte [esi + edx], 1
inc word [ebp + 6]
mov eax, dword [esp + 0x18]
inc eax
inc edx
cmp edx, 0xb
mov dword [esp + 0x18], eax
jl 0x4243c8
xor ecx, ecx
inc ebx
mov cl, byte [ebp]
add esi, 0xb
cmp ebx, ecx
jl 0x4243c6
xor esi, esi
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x6c], esi
mov al, byte [ebp]
xor ecx, ecx
test eax, eax
jle 0x424468
lea edx, [esi + edi]
cmp byte [edx], 0
jne 0x424460
inc ecx
add edx, 0xb
cmp ecx, eax
jl 0x424451
jmp 0x424468
cmp ecx, eax
mov dword [esp + 0x6c], esi
jl 0x42446e
inc esi
cmp esi, 0xb
jl 0x424448
mov esi, 0xa
xor ecx, ecx
test eax, eax
jle 0x424491
lea edx, [esi + edi]
cmp byte [edx], 0
jne 0x42448b
inc ecx
add edx, 0xb
cmp ecx, eax
jl 0x42447c
jmp 0x424491
cmp ecx, eax
mov ebx, esi
jl 0x424494
dec esi
jns 0x424473
mov cl, byte [esp + 0x6c]
mov dl, byte [ebp + 0xae3]
sub bl, cl
mov cl, bl
inc cl
test dl, dl
mov byte [ebp + 1], cl
jne 0x4244b1
mov byte [ebp + 0xae3], cl
xor edx, edx
test eax, eax
jle 0x4244ed
mov eax, dword [esp + 0x6c]
lea ebx, [eax + edi]
xor eax, eax
mov esi, ebx
mov al, byte [ebp + 1]
add ebx, 0xb
mov ecx, eax
imul eax, edx
lea edi, [eax + ebp + 8]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
inc edx
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, byte [ebp]
cmp edx, ecx
jl 0x4244be
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.MSVCRT.dll_free]
push edi
call esi
mov edx, dword [esp + 0x18]
push edx
call esi
mov eax, dword [esp + 0x28]
push eax
call esi
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
push edi
mov edi, dword [sym.imp.MSVCRT.dll_free]
call edi
add esp, 4
jmp 0x424528
mov edi, dword [sym.imp.MSVCRT.dll_free]
test esi, esi
je 0x424532
push esi
call edi
add esp, 4
test ebp, ebp
je 0x42453c
push ebp
call edi
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret