Function at 0x413860
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x19c
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x54], 0xc222921c
mov eax, dword [ebp - 0x54]
mov ecx, eax
sub ecx, 0x7c99d60b
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], ecx
jg 0x414014
jmp 0x4138dc
mov eax, dword [ebp - 0x58]
sub eax, 0x8f452e25
mov dword [ebp - 0x60], eax
jg 0x413908
jmp 0x4138f2
mov eax, dword [ebp - 0x58]
sub eax, 0x8a7b821c
mov dword [ebp - 0x64], eax
je 0x414374
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x98626d91
mov dword [ebp - 0x68], eax
jg 0x413934
jmp 0x41391e
mov eax, dword [ebp - 0x58]
sub eax, 0x8f452e26
mov dword [ebp - 0x6c], eax
je 0x41449a
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xa789ec03
mov dword [ebp - 0x70], eax
jg 0x413960
jmp 0x41394a
mov eax, dword [ebp - 0x58]
sub eax, 0x98626d92
mov dword [ebp - 0x74], eax
je 0x4143a0
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x7512c5f6
mov dword [ebp - 0x78], eax
jg 0x413ffb
jmp 0x413976
mov eax, dword [ebp - 0x58]
sub eax, 0x72c11095
mov dword [ebp - 0x7c], eax
jg 0x413fe2
jmp 0x41398c
mov eax, dword [ebp - 0x58]
sub eax, 0x6e71f07d
mov dword [ebp - 0x80], eax
jg 0x413fc9
jmp 0x4139a2
mov eax, dword [ebp - 0x58]
sub eax, 0x6ac61ebe
mov dword [ebp - 0x84], eax
jg 0x413fb0
jmp 0x4139bb
mov eax, dword [ebp - 0x58]
sub eax, 0x63a7cdb7
mov dword [ebp - 0x88], eax
jg 0x413f97
jmp 0x4139d4
mov eax, dword [ebp - 0x58]
sub eax, 0x5c2e383e
mov dword [ebp - 0x8c], eax
jg 0x413f7e
jmp 0x4139ed
mov eax, dword [ebp - 0x58]
sub eax, 0x53cc1d1a
mov dword [ebp - 0x90], eax
jg 0x413f65
jmp 0x413a06
mov eax, dword [ebp - 0x58]
sub eax, 0x40629151
mov dword [ebp - 0x94], eax
jg 0x413f4c
jmp 0x413a1f
mov eax, dword [ebp - 0x58]
sub eax, 0x3476d709
mov dword [ebp - 0x98], eax
jg 0x413f33
jmp 0x413a38
mov eax, dword [ebp - 0x58]
sub eax, 0x1b9c2411
mov dword [ebp - 0x9c], eax
jg 0x413f1a
jmp 0x413a51
mov eax, dword [ebp - 0x58]
sub eax, 0x18f2f1f3
mov dword [ebp - 0xa0], eax
jg 0x413f01
jmp 0x413a6a
mov eax, dword [ebp - 0x58]
sub eax, 0x10d38b51
mov dword [ebp - 0xa4], eax
jg 0x413ee8
jmp 0x413a83
mov eax, dword [ebp - 0x58]
sub eax, 0xa9b5586d
mov dword [ebp - 0xa8], eax
jg 0x413ab5
jmp 0x413a9c
mov eax, dword [ebp - 0x58]
sub eax, 0xa789ec04
mov dword [ebp - 0xac], eax
je 0x41428a
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xb294ad58
mov dword [ebp - 0xb0], eax
jg 0x413ae7
jmp 0x413ace
mov eax, dword [ebp - 0x58]
sub eax, 0xa9b5586e
mov dword [ebp - 0xb4], eax
je 0x4142a5
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xbf213606
mov dword [ebp - 0xb8], eax
jg 0x413b19
jmp 0x413b00
mov eax, dword [ebp - 0x58]
sub eax, 0xb294ad59
mov dword [ebp - 0xbc], eax
je 0x41408a
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xc222921b
mov dword [ebp - 0xc0], eax
jg 0x413b4b
jmp 0x413b32
mov eax, dword [ebp - 0x58]
sub eax, 0xbf213607
mov dword [ebp - 0xc4], eax
je 0x4143dd
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xc603a032
mov dword [ebp - 0xc8], eax
jg 0x413b7d
jmp 0x413b64
mov eax, dword [ebp - 0x58]
sub eax, 0xc222921c
mov dword [ebp - 0xcc], eax
je 0x414032
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xc9e0b3ea
mov dword [ebp - 0xd0], eax
jg 0x413baf
jmp 0x413b96
mov eax, dword [ebp - 0x58]
sub eax, 0xc603a033
mov dword [ebp - 0xd4], eax
je 0x414433
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xcbcae943
mov dword [ebp - 0xd8], eax
jg 0x413be1
jmp 0x413bc8
mov eax, dword [ebp - 0x58]
sub eax, 0xc9e0b3eb
mov dword [ebp - 0xdc], eax
je 0x414131
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xcdf7520e
mov dword [ebp - 0xe0], eax
jg 0x413c13
jmp 0x413bfa
mov eax, dword [ebp - 0x58]
sub eax, 0xcbcae944
mov dword [ebp - 0xe4], eax
je 0x414077
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xd0a239e6
mov dword [ebp - 0xe8], eax
jg 0x413c45
jmp 0x413c2c
mov eax, dword [ebp - 0x58]
sub eax, 0xcdf7520f
mov dword [ebp - 0xec], eax
je 0x414361
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xda55a35d
mov dword [ebp - 0xf0], eax
jg 0x413c77
jmp 0x413c5e
mov eax, dword [ebp - 0x58]
sub eax, 0xd0a239e7
mov dword [ebp - 0xf4], eax
je 0x41413e
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xcac7d83
mov dword [ebp - 0xf8], eax
jg 0x413ecf
jmp 0x413c90
mov eax, dword [ebp - 0x58]
sub eax, 0xbc7ac04
mov dword [ebp - 0xfc], eax
jg 0x413eb6
jmp 0x413ca9
mov eax, dword [ebp - 0x58]
sub eax, 0xf6366e81
mov dword [ebp - 0x100], eax
jg 0x413e9d
jmp 0x413cc2
mov eax, dword [ebp - 0x58]
sub eax, 0xf46dd96e
mov dword [ebp - 0x104], eax
jg 0x413e84
jmp 0x413cdb
mov eax, dword [ebp - 0x58]
sub eax, 0xf30a81ee
mov dword [ebp - 0x108], eax
jg 0x413e6b
jmp 0x413cf4
mov eax, dword [ebp - 0x58]
sub eax, 0xf2795934
mov dword [ebp - 0x10c], eax
jg 0x413e52
jmp 0x413d0d
mov eax, dword [ebp - 0x58]
sub eax, 0xf01f47b3
mov dword [ebp - 0x110], eax
jg 0x413e39
jmp 0x413d26
mov eax, dword [ebp - 0x58]
sub eax, 0xef230751
mov dword [ebp - 0x114], eax
jg 0x413e20
jmp 0x413d3f
mov eax, dword [ebp - 0x58]
sub eax, 0xda9adce2
mov dword [ebp - 0x118], eax
jg 0x413d71
jmp 0x413d58
mov eax, dword [ebp - 0x58]
sub eax, 0xda55a35e
mov dword [ebp - 0x11c], eax
je 0x414243
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xdb45119b
mov dword [ebp - 0x120], eax
jg 0x413da3
jmp 0x413d8a
mov eax, dword [ebp - 0x58]
sub eax, 0xda9adce3
mov dword [ebp - 0x124], eax
je 0x4141a8
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xdc05ec06
mov dword [ebp - 0x128], eax
jg 0x413dd5
jmp 0x413dbc
mov eax, dword [ebp - 0x58]
sub eax, 0xdb45119c
mov dword [ebp - 0x12c], eax
je 0x4143c5
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xdc05ec07
mov dword [ebp - 0x130], eax
je 0x4141ff
jmp 0x413dee
mov eax, dword [ebp - 0x58]
sub eax, 0xe30a7f74
mov dword [ebp - 0x134], eax
je 0x414414
jmp 0x413e07
mov eax, dword [ebp - 0x58]
sub eax, 0xe3289ad9
mov dword [ebp - 0x138], eax
je 0x4143d1
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xef230752
mov dword [ebp - 0x13c], eax
je 0x4140d6
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xf01f47b4
mov dword [ebp - 0x140], eax
je 0x414393
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xf2795935
mov dword [ebp - 0x144], eax
je 0x4140b4
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xf30a81ef
mov dword [ebp - 0x148], eax
je 0x414050
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xf46dd96f
mov dword [ebp - 0x14c], eax
je 0x414111
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xf6366e82
mov dword [ebp - 0x150], eax
je 0x414250
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xbc7ac05
mov dword [ebp - 0x154], eax
je 0x4140e9
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0xcac7d84
mov dword [ebp - 0x158], eax
je 0x414470
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x10d38b52
mov dword [ebp - 0x15c], eax
je 0x41421d
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x18f2f1f4
mov dword [ebp - 0x160], eax
je 0x414387
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x1b9c2412
mov dword [ebp - 0x164], eax
je 0x4142f7
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x3476d70a
mov dword [ebp - 0x168], eax
je 0x4143f4
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x40629152
mov dword [ebp - 0x16c], eax
je 0x4141b5
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x53cc1d1b
mov dword [ebp - 0x170], eax
je 0x41415e
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x5c2e383f
mov dword [ebp - 0x174], eax
je 0x414407
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x63a7cdb8
mov dword [ebp - 0x178], eax
je 0x4141f3
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x6ac61ebf
mov dword [ebp - 0x17c], eax
je 0x414427
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x6e71f07e
mov dword [ebp - 0x180], eax
je 0x414125
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x72c11096
mov dword [ebp - 0x184], eax
je 0x414104
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x7512c5f7
mov dword [ebp - 0x188], eax
je 0x4142e4
jmp 0x41402d
mov eax, dword [ebp - 0x58]
sub eax, 0x7c99d60c
mov dword [ebp - 0x18c], eax
je 0x414179
jmp 0x41402d
jmp 0x4144b7
mov eax, 0x72c11096
mov ecx, 0xf30a81ef
mov edx, dword [ebp - 0x10]
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0xb294ad59
mov ecx, 0xcbcae944
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx]
cmp edx, 0x5a4d
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x54], 0x5c2e383f
jmp 0x4144b7
mov eax, 0xf2795935
mov ecx, 0xef230752
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
add edx, dword [esi + 0x3c]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp dword [edx], 0x4550
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0xbc7ac05
mov ecx, 0xef230752
mov edx, dword [ebp - 0x30]
movzx edx, word [edx + 0x18]
cmp edx, 0x10b
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x54], 0x5c2e383f
jmp 0x4144b7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
add eax, dword [ecx + 0x80]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], 0x72c11096
jmp 0x4144b7
mov eax, 0xf46dd96f
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0x6e71f07e
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov dword [ebp - 0x54], 0xc9e0b3eb
jmp 0x4144b7
mov eax, 0xd0a239e7
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0x53cc1d1b
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0xc], 0
setne dl
and dl, 1
mov byte [ebp - 0xa], dl
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0x3476d70a
mov ecx, 0x7c99d60c
mov dl, byte [ebp - 0xa]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0xc]
mov dword [esp], eax
call fcn.00405af0
mov ecx, 0xbf213607
mov edx, 0xda9adce3
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x1c]
cmove ecx, edx
mov dword [ebp - 0x54], ecx
jmp 0x4144b7
mov eax, 0x40629152
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0xc]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
sub esp, 4
mov ecx, 0x63a7cdb8
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
add eax, dword [edx + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
add eax, dword [edx]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], ecx
jmp 0x4144b7
mov dword [ebp - 0x54], 0xdc05ec07
jmp 0x4144b7
mov eax, 0xe3289ad9
mov ecx, 0x10d38b52
mov edx, dword [ebp - 0x38]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0xda55a35e
mov ecx, 0xf01f47b4
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
and edx, 0x80000000
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0xf6366e82
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [esp], eax
call fcn.00405af0
mov ecx, 0xa789ec04
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x18]
sete dl
and dl, 1
mov byte [ebp - 9], dl
mov dword [ebp - 0x54], ecx
jmp 0x4144b7
mov eax, 0x18f2f1f4
mov ecx, 0xa9b5586e
mov dl, byte [ebp - 9]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, dword [ebp - 0x34]
mov ecx, esp
lea edx, [ebp - 0x50]
mov dword [ecx + 0xc], edx
mov dword [ecx], eax
mov dword [ecx + 8], 4
mov dword [ecx + 4], 4
mov eax, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call eax
sub esp, 0x10
mov ecx, 0x7512c5f7
mov edx, 0x1b9c2412
cmp eax, 0
cmovne ecx, edx
mov dword [ebp - 0x54], ecx
jmp 0x4144b7
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x54], 0x5c2e383f
jmp 0x4144b7
mov eax, 4
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov dword [ebp - 0x190], eax
call fcn.004069d0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x34]
mov esi, esp
lea edi, [ebp - 0x50]
mov dword [esi + 0xc], edi
mov dword [esi + 8], ecx
mov dword [esi], edx
mov dword [esi + 4], 4
mov ecx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x194], eax
call ecx
sub esp, 0x10
mov ecx, 0xcdf7520f
mov edx, 0x8a7b821c
cmp eax, 0
cmovne ecx, edx
mov dword [ebp - 0x54], ecx
jmp 0x4144b7
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x54], 0x5c2e383f
jmp 0x4144b7
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x54], 0x5c2e383f
jmp 0x4144b7
mov dword [ebp - 0x54], 0xf01f47b4
jmp 0x4144b7
mov eax, 0x98626d92
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov eax, 0xdb45119c
mov ecx, dword [ebp - 0x34]
add ecx, 4
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x38]
add ecx, 4
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x54], eax
jmp 0x4144b7
mov dword [ebp - 0x54], 0xdc05ec07
jmp 0x4144b7
mov dword [ebp - 0x54], 0xbf213607
jmp 0x4144b7
mov eax, dword [ebp - 0x24]
add eax, 0x14
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], 0xc9e0b3eb
jmp 0x4144b7
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x54], 0x5c2e383f
jmp 0x4144b7
mov eax, dword [ebp - 0x14]
add esp, 0x19c
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x54], 0xf46dd96f
jmp 0x4144b7
mov dword [ebp - 0x54], 0xd0a239e7
jmp 0x4144b7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0xc]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
sub esp, 4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], 0x40629152
jmp 0x4144b7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [esp], eax
call fcn.00405af0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], 0xf6366e82
jmp 0x4144b7
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], 0x98626d92
jmp 0x4138c0