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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x427c5c
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x538
mov eax, dword [0x42e0b4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0040a040
mov byte [ebp - 4], 1
push 0x42ad04
lea ecx, [ebp - 0x6c]
call fcn.004018a0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x4dc]
mov dword [eax + 0xb8], fcn.00402c40
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0x44]
call fcn.0040a070
mov edx, dword [ebp - 0x4dc]
mov ecx, dword [edx + 0xb8]
mov dword [eax], ecx
mov edx, dword [ebp + 0x38]
push edx
call fcn.0040f390
add esp, 4
add eax, 1
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov eax, dword [ebp - 0x78]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0040e540
add esp, 4
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x78], 1
jle 0x404d10
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp + 0x38]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.0040f029
add esp, 0xc
push 0x1c
lea ecx, [ebp - 0x35c]
push ecx
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x44]
call fcn.0040a070
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x4e0], eax
mov ecx, dword [ebp - 0x4e0]
mov dword [ebp - 0x4e4], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x4e4]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004018e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x35c]
call fcn.00401920
lea ecx, [ebp - 0x9c]
call fcn.00409fd0
mov dword [ebp - 0x80], eax
push 5
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0040f2e1
add esp, 0xc
test eax, eax
jne 0x404d01
mov dword [ebp - 0x48], 0x42ad14
push 0x1d
lea edx, [ebp - 0x378]
push edx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040a070
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x4e8], eax
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x4ec], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x4ec]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004018e0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x378]
call fcn.00401920
push 0x42ad18
lea ecx, [ebp + 8]
call fcn.00409ee0
push 0x42ad1c
lea ecx, [ebp + 8]
call fcn.00409ee0
push 0x42ad24
lea ecx, [ebp + 8]
call fcn.00409ee0
mov dword [ebp - 0x37c], 0x14
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.0040e540
add esp, 4
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
je 0x404a9b
mov edx, dword [ebp - 0x37c]
push edx
push 0
mov eax, dword [ebp - 0x380]
push eax
call fcn.0040f5e0
add esp, 0xc
mov ecx, dword [ebp - 0x380]
mov dword [ebp - 0x4f0], ecx
jmp 0x404aa5
mov dword [ebp - 0x4f0], 0
mov edx, dword [ebp - 0x4f0]
mov dword [ebp - 0xbc], edx
push 0xa
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0040e874
cdq
mov ecx, 0x186a0
idiv ecx
push edx
call fcn.0040f6ae
add esp, 0xc
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xbc]
push edx
lea ecx, [ebp + 8]
call fcn.00409ee0
mov byte [ebp - 4], 9
mov dword [ebp - 0x384], 0x2a
push 0x42b9cc
lea eax, [ebp - 0x384]
push eax
call fcn.0040fa31
mov byte [ebp - 0xcc], 0x48
mov byte [ebp - 0xcb], 0x5f
mov byte [ebp - 0xca], 0x58
mov byte [ebp - 0xc9], 0x59
mov byte [ebp - 0xc8], 0x59
mov byte [ebp - 0xc7], 0x37
mov byte [ebp - 0xd0], 0x58
mov byte [ebp - 0xcf], 0x38
mov byte [ebp - 0xce], 0x59
mov byte [ebp - 0xcd], 0x58
mov byte [ebp - 0xc4], 0x36
mov byte [ebp - 0xc3], 0x4d
mov byte [ebp - 0xc2], 0x4a
mov byte [ebp - 0xec], 0x59
mov byte [ebp - 0xeb], 0x46
mov byte [ebp - 0xea], 0x43
mov byte [ebp - 0xe9], 0x55
mov byte [ebp - 0xe8], 0x54
mov byte [ebp - 0xe7], 0x59
mov byte [ebp - 0xe6], 0x43
mov byte [ebp - 0xd8], 0x45
mov byte [ebp - 0xd7], 0x47
mov byte [ebp - 0xd6], 0x30
mov byte [ebp - 0xd5], 0x5a
mov byte [ebp - 0xd4], 0x52
mov byte [ebp - 0xd3], 0x56
mov byte [ebp - 0xd2], 0x37
mov byte [ebp - 0xe4], 0x43
mov byte [ebp - 0xe3], 0x46
mov byte [ebp - 0xe2], 0x38
mov byte [ebp - 0xe1], 0x59
mov byte [ebp - 0xe0], 0x57
mov byte [ebp - 0xdf], 0x4e
mov byte [ebp - 0xde], 0x59
mov byte [ebp - 0xf8], 0x41
mov byte [ebp - 0xf7], 0x51
mov byte [ebp - 0xf6], 0x4a
mov byte [ebp - 0xf5], 0x55
mov byte [ebp - 0xf4], 0x36
mov byte [ebp - 0xf3], 0x49
mov byte [ebp - 0xf2], 0x46
mov byte [ebp - 0xf1], 0x4b
mov byte [ebp - 0xdc], 0x49
mov byte [ebp - 0xdb], 0x37
mov byte [ebp - 0xda], 0x47
mov byte [ebp - 0xd9], 0x53
lea ecx, [ebp - 0xdc]
push ecx
lea edx, [ebp - 0xf8]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x388], esp
lea eax, [ebp + 8]
push eax
call fcn.004018e0
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0x4f8], ecx
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0xe4]
push edx
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xec]
push ecx
lea edx, [ebp - 0xc4]
push edx
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xcc]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x38c], esp
lea edx, [ebp - 0xb8]
push edx
call fcn.004018e0
mov dword [ebp - 0x4fc], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x4dc]
call fcn.00408690
mov dword [ebp - 4], 8
mov eax, 0x404ce8
ret
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x9c]
call fcn.00401920
mov byte [ebp - 0x50], 0x4e
mov byte [ebp - 0x4f], 0x48
mov byte [ebp - 0x4e], 0x4e
mov byte [ebp - 0x4d], 0x48
mov byte [ebp - 0x4c], 0x57
mov byte [ebp - 0x4b], 0x39
mov byte [ebp - 0x24], 0x35
mov byte [ebp - 0x23], 0x45
mov byte [ebp - 0x22], 0x37
mov byte [ebp - 0x21], 0x31
mov byte [ebp - 0x20], 0x39
mov byte [ebp - 0x1f], 0x42
mov byte [ebp - 0x74], 0x37
mov byte [ebp - 0x73], 0x34
mov byte [ebp - 0x72], 0x53
mov byte [ebp - 0x71], 0x38
mov byte [ebp - 0x70], 0x31
mov byte [ebp - 0x6f], 0x49
mov byte [ebp - 0x1c], 0x42
mov byte [ebp - 0x1b], 0x48
mov byte [ebp - 0x1a], 0x35
mov byte [ebp - 0x19], 0x44
mov byte [ebp - 0x18], 0x4c
mov byte [ebp - 0x17], 0x50
mov byte [ebp - 0x16], 0x50
mov byte [ebp - 0x79], 0x57
lea ecx, [ebp - 0x79]
push ecx
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x74]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x390], esp
push 0x42ad28
call fcn.004018a0
mov dword [ebp - 0x500], eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x50]
push edx
mov ecx, dword [ebp - 0x4dc]
call fcn.00403ae0
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x100], 0
jmp 0x404dd1
mov eax, dword [ebp - 0x100]
add eax, 1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0x5a
jge 0x404de6
mov dword [ebp - 0xfc], 0
jmp 0x404dc2
mov dword [ebp - 0x394], 0x2f
push 0x42b9cc
lea ecx, [ebp - 0x394]
push ecx
call fcn.0040fa31
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x104], 2
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x118]
jne 0x404ea4
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0
je 0x404e71
cmp dword [ebp - 0x504], 1
je 0x404e7d
cmp dword [ebp - 0x504], 2
je 0x404e89
jmp 0x404e95
mov dword [ebp - 0x108], 0
jmp 0x404e9f
mov dword [ebp - 0x108], 2
jmp 0x404e9f
mov dword [ebp - 0x108], 1
jmp 0x404e9f
mov dword [ebp - 0x108], 0
jmp 0x404f70
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x114]
jne 0x404f0b
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x508], ecx
cmp dword [ebp - 0x508], 0
je 0x404edb
cmp dword [ebp - 0x508], 1
je 0x404ee7
cmp dword [ebp - 0x508], 2
je 0x404ef3
jmp 0x404eff
mov dword [ebp - 0x108], 1
jmp 0x404f09
mov dword [ebp - 0x108], 0
jmp 0x404f09
mov dword [ebp - 0x108], 2
jmp 0x404f09
mov dword [ebp - 0x108], 0
jmp 0x404f70
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x104]
jne 0x404f70
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x50c], eax
cmp dword [ebp - 0x50c], 0
je 0x404f42
cmp dword [ebp - 0x50c], 1
je 0x404f4e
cmp dword [ebp - 0x50c], 2
je 0x404f5a
jmp 0x404f66
mov dword [ebp - 0x108], 2
jmp 0x404f70
mov dword [ebp - 0x108], 1
jmp 0x404f70
mov dword [ebp - 0x108], 0
jmp 0x404f70
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x120], 0
jmp 0x404f8b
call fcn.0040e874
cdq
mov ecx, 0xa
idiv ecx
cmp dword [ebp - 0x120], edx
jge 0x40500b
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x398], 0x2a
push 0x42b9cc
lea edx, [ebp - 0x398]
push edx
call fcn.0040fa31
call fcn.0040e874
cdq
mov ecx, 0xa
idiv ecx
push edx
lea edx, [ebp - 0x3b4]
push edx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040a070
mov ecx, dword [eax]
call ecx
add esp, 8
lea ecx, [ebp - 0x3b4]
call fcn.00401920
mov dword [ebp - 4], 0xd
mov eax, 0x405006
ret
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x128], 0
jmp 0x40502a
call fcn.0040e874
cdq
mov ecx, 0xa
idiv ecx
cmp dword [ebp - 0x128], edx
jge 0x4050b6
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x3b8], 0x2a
push 0x42b9cc
lea edx, [ebp - 0x3b8]
push edx
call fcn.0040fa31
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040a070
mov dword [ebp - 0x510], eax
call fcn.0040e874
cdq
mov ecx, 0xa
idiv ecx
push edx
lea edx, [ebp - 0x3d4]
push edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
call ecx
add esp, 8
lea ecx, [ebp - 0x3d4]
call fcn.00401920
mov dword [ebp - 4], 0x10
mov eax, 0x4050b1
ret
mov dword [ebp - 0x3d8], 0x64
push 0x42b9cc
lea edx, [ebp - 0x3d8]
push edx
call fcn.0040fa31
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x3dc], 0x2a
push 0x42b9cc
lea eax, [ebp - 0x3dc]
push eax
call fcn.0040fa31
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3e0], esp
lea edx, [ebp + 8]
push edx
call fcn.004018e0
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x4dc]
call fcn.00406880
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x518]
mov dword [ebp + 0x40], eax
mov dword [ebp - 4], 0x13
mov eax, 0x40513b
ret