Function at 0x40a640
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
sub esp, 0x130
push ebx
push ebp
push esi
push edi
mov ax, word [0x42ba48]
mov dx, word [str.BCa0]
xor ecx, ecx
mov word [esp + 0x14], ax
mov dword [esp + 0x16], ecx
xor eax, eax
mov dword [esp + 0x1a], ecx
mov cx, word [0x42b0d0]
mov word [esp + 0x1f], dx
mov dword [esp + 0x21], eax
mov word [esp + 0x2a], cx
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x25], eax
mov ax, word [0x42bc48]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x37], ecx
mov dword [esp + 0x30], edx
mov dx, word [0x42bc44]
mov word [esp + 0x35], ax
mov dword [esp + 0x3b], ecx
mov cx, word [0x42bc40]
xor eax, eax
mov word [esp + 0x40], dx
mov dword [esp + 0x42], eax
mov word [esp + 0x4b], cx
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x46], eax
mov ax, word [0x42bc3c]
mov dword [esp + 0x4d], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x51], edx
mov dx, word [0x42bc38]
mov word [esp + 0x56], ax
mov dword [esp + 0x5c], ecx
mov cx, word [0x42bc34]
xor eax, eax
mov word [esp + 0x61], dx
mov dword [esp + 0x63], eax
mov word [esp + 0x6c], cx
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x67], eax
mov ax, word [0x42b96c]
mov dword [esp + 0x6e], edx
mov dword [esp + 0x79], ecx
mov dword [esp + 0x72], edx
mov dx, word [0x42bc30]
mov word [esp + 0x77], ax
mov dword [esp + 0x7d], ecx
mov cx, word [0x42bc2c]
xor eax, eax
mov word [esp + 0x82], dx
mov dword [esp + 0x84], eax
mov word [esp + 0x8d], cx
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x88], eax
mov ax, word [0x42b0a8]
mov dword [esp + 0x8f], edx
mov dword [esp + 0x9a], ecx
mov byte [esp + 0x1e], 0x38
mov byte [esp + 0x29], 0x39
mov byte [esp + 0x34], 0x3a
mov byte [esp + 0x3f], 0x45
mov byte [esp + 0x4a], 0x46
mov byte [esp + 0x55], 0x47
mov byte [esp + 0x60], 0x48
mov byte [esp + 0x6b], 0x49
mov byte [esp + 0x76], 0x4a
mov byte [esp + 0x81], 0x4b
mov byte [esp + 0x8c], 0x4c
mov dword [esp + 0x93], edx
mov byte [esp + 0x97], 0x4d
mov word [esp + 0x98], ax
mov dword [esp + 0x9e], ecx
mov dx, word [0x42bc28]
mov cx, word [0x42bc24]
mov word [esp + 0xa3], dx
xor edx, edx
xor eax, eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa5], eax
mov word [esp + 0xae], cx
mov dword [esp + 0xb4], edx
mov dx, word [0x42bc20]
xor ecx, ecx
mov dword [esp + 0xa9], eax
mov ax, word [0x42b100]
mov dword [esp + 0xbb], ecx
mov word [esp + 0xc4], dx
xor edx, edx
mov word [esp + 0xb9], ax
mov dword [esp + 0xbf], ecx
mov cx, word [str.UTRQNMKJIGFD]
xor eax, eax
mov dword [esp + 0xd1], edx
mov dword [esp + 0xc6], eax
mov word [esp + 0xcf], cx
mov dword [esp + 0xd5], edx
mov dx, word [0x42b164]
xor ecx, ecx
mov dword [esp + 0xca], eax
mov ax, word [0x42badc]
mov dword [esp + 0xdc], ecx
mov word [esp + 0xe5], dx
xor edx, edx
mov word [esp + 0xda], ax
mov dword [esp + 0xe0], ecx
mov cx, word [0x42b0bc]
xor eax, eax
mov dword [esp + 0xf2], edx
mov dword [esp + 0xe7], eax
mov word [esp + 0xf0], cx
mov cl, byte [0x42bc1a]
mov dword [esp + 0xf6], edx
mov dword [esp + 0xfe], edx
mov dword [esp + 0xeb], eax
mov ax, word [0x42bc18]
mov byte [esp + 0xfd], cl
mov cx, word [0x42bc14]
mov word [esp + 0x102], dx
mov word [esp + 0xfb], ax
mov byte [esp + 0x104], dl
mov dl, byte [0x42bc16]
mov al, 0x34
mov word [esp + 0x106], cx
xor ecx, ecx
mov byte [esp + 0x105], al
mov byte [esp + 0x108], dl
mov dx, word [0x42bc10]
mov byte [esp + 0x110], al
mov dword [esp + 0x109], ecx
xor eax, eax
mov word [esp + 0x10d], cx
mov word [esp + 0x111], dx
mov dword [esp + 0x113], eax
xor edx, edx
mov byte [esp + 0x10f], cl
mov cx, word [0x42bc0c]
mov dword [esp + 0x117], eax
mov eax, dword [str.COMMENT]
mov dword [esp + 0x11e], edx
mov byte [esp + 0xa2], 0x4e
mov byte [esp + 0xad], 0x4f
mov byte [esp + 0xb8], 0x50
mov byte [esp + 0xc3], 0x51
mov byte [esp + 0xce], 0x52
mov byte [esp + 0xd9], 0x53
mov byte [esp + 0xe4], 0x54
mov byte [esp + 0xef], 0x55
mov byte [esp + 0xfa], 0x56
mov byte [esp + 0x11b], 0x57
mov word [esp + 0x11c], cx
mov dword [esp + 0x122], edx
mov byte [esp + 0x126], 0x5b
mov dword [esp + 0x127], eax
mov ecx, dword [0x42bc08]
mov dl, byte [0x431580]
mov dword [esp + 0x12b], ecx
xor eax, eax
xor ecx, ecx
mov byte [esp + 0x132], dl
mov dword [esp + 0x133], eax
mov dword [esp + 0x127], ecx
xor ebp, ebp
push 9
lea edx, [esp + 0x12b]
mov dword [esp + 0x13b], eax
mov dword [esp + 0x12f], ecx
push 0x432ddc
mov word [esp + 0x137], bp
push edx
mov byte [esp + 0x13d], 0x5a
mov byte [esp + 0x147], al
mov byte [esp + 0x148], 0x35
mov dword [esp + 0x1c], ebp
mov word [esp + 0x13b], cx
call fcn.004217a0
mov al, byte [esp + 0x20]
mov ebx, dword [esp + 0x150]
add esp, 0xc
test al, al
je 0x40aad0
lea eax, [esp + 0x14]
lea edi, [esp + 0x14]
mov esi, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40aa8b
test cl, cl
je 0x40aa87
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40aa8b
add eax, 2
add esi, 2
test cl, cl
jne 0x40aa67
xor eax, eax
jmp 0x40aa90
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40aabc
push 0x432ddc
push ebx
call fcn.00420670
add esp, 8
test eax, eax
je 0x40aaad
cmp eax, 0x432ddc
je 0x40aaff
mov cl, byte [edi + 0xb]
add edi, 0xb
inc ebp
mov eax, edi
test cl, cl
jne 0x40aa65
jmp 0x40aad0
lea eax, [ebp + ebp*4]
lea ecx, [esp + eax*2 + 0x1e]
movsx eax, byte [ecx + ebp]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x40aaf0
mov al, byte [0x4328b6]
test al, al
je 0x40aaf0
push 0x4328b6
push ebx
call fcn.00420f50
add esp, 8
test eax, eax
mov eax, 0x59
je 0x40aaf4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
pop edi
pop esi
pop ebp
mov eax, 0x5a
pop ebx
add esp, 0x130
ret