Function at 0x407980
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1ac
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b4], eax
mov eax, dword [0x432080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1b0], 0x1815b432
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
sub eax, 0x8477616e
je 0x408bb7
jmp 0x4079c5
mov eax, dword [ebp - 0x1b8]
sub eax, 0x84da5eee
je 0x40817d
jmp 0x4079db
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8a8ec6fc
je 0x408a9d
jmp 0x4079f1
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8e79b376
je 0x4084b8
jmp 0x407a07
mov eax, dword [ebp - 0x1b8]
sub eax, 0x91bb013c
je 0x408efc
jmp 0x407a1d
mov eax, dword [ebp - 0x1b8]
sub eax, 0x96b89ff4
je 0x4084d9
jmp 0x407a33
mov eax, dword [ebp - 0x1b8]
sub eax, 0x984c013a
je 0x408d41
jmp 0x407a49
mov eax, dword [ebp - 0x1b8]
sub eax, 0x995f6de0
je 0x408d32
jmp 0x407a5f
mov eax, dword [ebp - 0x1b8]
sub eax, 0x9b66c13e
je 0x408c0d
jmp 0x407a75
mov eax, dword [ebp - 0x1b8]
sub eax, 0x9b8196b6
je 0x408e2c
jmp 0x407a8b
mov eax, dword [ebp - 0x1b8]
sub eax, 0x9e044eba
je 0x409079
jmp 0x407aa1
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa208bfe8
je 0x4081dd
jmp 0x407ab7
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa322c2f6
je 0x408f73
jmp 0x407acd
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa5fdf3d0
je 0x40878e
jmp 0x407ae3
mov eax, dword [ebp - 0x1b8]
sub eax, 0xb16c9b50
je 0x40801d
jmp 0x407af9
mov eax, dword [ebp - 0x1b8]
sub eax, 0xb80554e6
je 0x408948
jmp 0x407b0f
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc9f140fe
je 0x408250
jmp 0x407b25
mov eax, dword [ebp - 0x1b8]
sub eax, 0xd01a2e6a
je 0x408e4d
jmp 0x407b3b
mov eax, dword [ebp - 0x1b8]
sub eax, 0xd2da33ea
je 0x4086b3
jmp 0x407b51
mov eax, dword [ebp - 0x1b8]
sub eax, 0xd52478d9
je 0x408fb8
jmp 0x407b67
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdb1160dd
je 0x407fd5
jmp 0x407b7d
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdb32de8b
je 0x40808b
jmp 0x407b93
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdeb61543
je 0x408a0f
jmp 0x407ba9
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe8e32f57
je 0x408ed2
jmp 0x407bbf
mov eax, dword [ebp - 0x1b8]
sub eax, 0xf78eceb9
je 0x407f51
jmp 0x407bd5
mov eax, dword [ebp - 0x1b8]
sub eax, 0xf967d162
je 0x407fc6
jmp 0x407beb
mov eax, dword [ebp - 0x1b8]
sub eax, 0xfa5003e4
je 0x408364
jmp 0x407c01
mov eax, dword [ebp - 0x1b8]
sub eax, 0xfe0fba57
je 0x408355
jmp 0x407c17
mov eax, dword [ebp - 0x1b8]
sub eax, 0x12268ba
je 0x4082e7
jmp 0x407c2d
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2c372ec
je 0x408692
jmp 0x407c43
mov eax, dword [ebp - 0x1b8]
sub eax, 0x5a09d60
je 0x408eed
jmp 0x407c59
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8860f42
je 0x4085c1
jmp 0x407c6f
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1700a483
je 0x409058
jmp 0x407c85
mov eax, dword [ebp - 0x1b8]
sub eax, 0x17b27e65
je 0x40881b
jmp 0x407c9b
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1815b432
je 0x407f1e
jmp 0x407cb1
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1b1fba80
je 0x4087af
jmp 0x407cc7
mov eax, dword [ebp - 0x1b8]
sub eax, 0x22568b73
je 0x408f58
jmp 0x407cdd
mov eax, dword [ebp - 0x1b8]
sub eax, 0x23ed5193
je 0x4087ca
jmp 0x407cf3
mov eax, dword [ebp - 0x1b8]
sub eax, 0x26c1a28f
je 0x408c28
jmp 0x407d09
mov eax, dword [ebp - 0x1b8]
sub eax, 0x288a5716
je 0x40847c
jmp 0x407d1f
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2bb917da
je 0x40849d
jmp 0x407d35
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2da14abb
je 0x4084e8
jmp 0x407d4b
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2ddcef98
je 0x408d92
jmp 0x407d61
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3550ac4e
je 0x408f0b
jmp 0x407d77
mov eax, dword [ebp - 0x1b8]
sub eax, 0x361b5789
je 0x408570
jmp 0x407d8d
mov eax, dword [ebp - 0x1b8]
sub eax, 0x39cf92f3
je 0x40818c
jmp 0x407da3
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3a1beebc
je 0x408271
jmp 0x407db9
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3bccb057
je 0x408b0b
jmp 0x407dcf
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3ec88233
je 0x4083b5
jmp 0x407de5
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3ed90420
je 0x408721
jmp 0x407dfb
mov eax, dword [ebp - 0x1b8]
sub eax, 0x41e95e8f
je 0x4088cb
jmp 0x407e11
mov eax, dword [ebp - 0x1b8]
sub eax, 0x46435578
je 0x408a30
jmp 0x407e27
mov eax, dword [ebp - 0x1b8]
sub eax, 0x4cef0f36
je 0x40853d
jmp 0x407e3d
mov eax, dword [ebp - 0x1b8]
sub eax, 0x4eaf430b
je 0x408ba8
jmp 0x407e53
mov eax, dword [ebp - 0x1b8]
sub eax, 0x5168c16f
je 0x408c9e
jmp 0x407e69
mov eax, dword [ebp - 0x1b8]
sub eax, 0x523381c7
je 0x4088da
jmp 0x407e7f
mov eax, dword [ebp - 0x1b8]
sub eax, 0x5547b45d
je 0x408665
jmp 0x407e95
mov eax, dword [ebp - 0x1b8]
sub eax, 0x66c1f412
je 0x408433
jmp 0x407eab
mov eax, dword [ebp - 0x1b8]
sub eax, 0x6790ed8a
je 0x408674
jmp 0x407ec1
mov eax, dword [ebp - 0x1b8]
sub eax, 0x73215d5f
je 0x408e3b
jmp 0x407ed7
mov eax, dword [ebp - 0x1b8]
sub eax, 0x7601512f
je 0x408bfe
jmp 0x407eed
mov eax, dword [ebp - 0x1b8]
sub eax, 0x76ad91c4
je 0x4083e2
jmp 0x407f03
mov eax, dword [ebp - 0x1b8]
sub eax, 0x7a505d53
je 0x408bd6
jmp 0x407f19
jmp 0x4090a7
push eax
mov eax, esp
mov dword [ebp - 0x188], eax
push eax
mov eax, esp
mov dword [ebp - 0x184], eax
push eax
mov eax, esp
mov dword [ebp - 0x180], eax
push eax
mov eax, esp
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x1b0], 0xf78eceb9
jmp 0x4090a7
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x18c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041c9e0
add esp, 0xc
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x194], eax
mov eax, 0xf967d162
mov ecx, 0xdb1160dd
cmp dword [ebp - 0x194], 0
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x73215d5f
jmp 0x4090a7
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
lea eax, [ebp - 0x120]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
lea eax, [ebp - 0x120]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x1b0], 0xb16c9b50
jmp 0x4090a7
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd01a2e6a
mov ecx, 0xdb32de8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x194]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x174], eax
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
sub edx, 0x9e32d7bb
sub edx, 1
add edx, 0x9e32d7bb
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xd01a2e6a
mov ecx, 0x84da5eee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x39cf92f3
jmp 0x4090a7
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
add edx, 0x280ae26f
sub edx, 1
sub edx, 0x280ae26f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xe8e32f57
mov ecx, 0xa208bfe8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x19c], eax
sete al
and al, 1
mov byte [ebp - 0x16d], al
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
sub edx, 0x4a8bf477
sub edx, 1
add edx, 0x4a8bf477
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xe8e32f57
mov ecx, 0xc9f140fe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dl, byte [ebp - 0x16d]
mov eax, 0xfa5003e4
mov ecx, 0x3a1beebc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
add edx, 0xfc3ab4cc
sub edx, 1
sub edx, 0xfc3ab4cc
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x5a09d60
mov ecx, 0x12268ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x5a09d60
mov ecx, 0xfe0fba57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x73215d5f
jmp 0x4090a7
mov eax, dword [ebp - 0x19c]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x1b0], 0x3ec88233
jmp 0x4090a7
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
setne al
and al, 1
mov byte [ebp - 0x165], al
mov dword [ebp - 0x1b0], 0x76ad91c4
jmp 0x4090a7
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
sub edx, 0x1797dfbc
sub edx, 1
add edx, 0x1797dfbc
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x91bb013c
mov ecx, 0x66c1f412
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x91bb013c
mov ecx, 0x288a5716
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dl, byte [ebp - 0x165]
mov eax, 0x2bb917da
mov ecx, 0x2da14abb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1b0], 0x8e79b376
jmp 0x4090a7
mov eax, dword [ebp - 0x164]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0x96b89ff4
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x73215d5f
jmp 0x4090a7
mov eax, dword [ebp - 0x1a0]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1b0], 0x4cef0f36
jmp 0x4090a7
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1b0], 0x361b5789
jmp 0x4090a7
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
add edx, 0x2ca49c2f
sub edx, 1
sub edx, 0x2ca49c2f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3550ac4e
mov ecx, 0x8860f42
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x158]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x15c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x188]
mov word [eax], 0
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
sub edx, 0x2aa44b2c
sub edx, 1
add edx, 0x2aa44b2c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x3550ac4e
mov ecx, 0x5547b45d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x6790ed8a
jmp 0x4090a7
mov eax, dword [ebp - 0x188]
movzx eax, word [eax]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1b0], 0x2c372ec
jmp 0x4090a7
mov eax, dword [ebp - 0x1ac]
add eax, 4
add eax, 2
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1b0], 0xd2da33ea
jmp 0x4090a7
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x22568b73
mov ecx, 0x3ed90420
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x150]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x154]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x149], al
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
sub edx, 0x807393f9
sub edx, 1
add edx, 0x807393f9
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x22568b73
mov ecx, 0xa5fdf3d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dl, byte [ebp - 0x149]
mov eax, 0x9b66c13e
mov ecx, 0x1b1fba80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x1b0], 0x23ed5193
jmp 0x4090a7
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
add edx, 0xba7a3fbd
sub edx, 1
sub edx, 0xba7a3fbd
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xa322c2f6
mov ecx, 0x17b27e65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x148]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x1ac]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x188]
movzx eax, word [eax]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
sub edx, 0x9c80979a
sub edx, 1
add edx, 0x9c80979a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xa322c2f6
mov ecx, 0x41e95e8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x523381c7
jmp 0x4090a7
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd52478d9
mov ecx, 0xb80554e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x140]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x144]
add ecx, 0xc50663d0
add ecx, eax
sub ecx, 0xc50663d0
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42b959
call fcn.004202e0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
sub edx, 0x1e7aecfd
sub edx, 1
add edx, 0x1e7aecfd
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd52478d9
mov ecx, 0xdeb61543
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dl, byte [ebp - 0x139]
mov eax, 0x46435578
mov ecx, 0x4eaf430b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x180]
mov dword [eax], 0
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xfced94cb
add edx, eax
sub edx, 0xfced94cb
mov eax, dword [ebp - 0x180]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x1b0], 0x8a8ec6fc
jmp 0x4090a7
mov eax, dword [ebp - 0x138]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x17c]
mov byte [eax], cl
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x184]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x184]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x88b935e1
add eax, ecx
add eax, 0x88b935e1
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x1b0], 0x3bccb057
jmp 0x4090a7
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x130]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041cb40
add esp, 0xc
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x198]
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x180]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x17c]
mov byte [eax], cl
mov dword [ebp - 0x1b0], 0x4eaf430b
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x8477616e
jmp 0x4090a7
mov eax, dword [ebp - 0x188]
mov ax, word [eax]
mov word [ebp - 0x12a], ax
mov dword [ebp - 0x1b0], 0x7a505d53
jmp 0x4090a7
mov cx, word [ebp - 0x12a]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x188]
mov word [eax], cx
mov dword [ebp - 0x1b0], 0x7601512f
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x6790ed8a
jmp 0x4090a7
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1b0], 0x26c1a28f
jmp 0x4090a7
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
sub edx, 0xdb0bc538
sub edx, 1
add edx, 0xdb0bc538
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x1700a483
mov ecx, 0x5168c16f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x124], eax
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
add edx, 0xc0f43ae2
sub edx, 1
sub edx, 0xc0f43ae2
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x1700a483
mov ecx, 0x995f6de0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x984c013a
jmp 0x4090a7
mov eax, dword [0x433564]
mov ecx, dword [0x433560]
mov edx, eax
sub edx, 0x8b8dfcef
sub edx, 1
add edx, 0x8b8dfcef
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9e044eba
mov ecx, 0x2ddcef98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x190]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x433564]
mov eax, dword [0x433560]
mov edx, ecx
add edx, 0x1ef21251
sub edx, 1
sub edx, 0x1ef21251
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x9e044eba
mov ecx, 0x9b8196b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x73215d5f
jmp 0x4090a7
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041bcf0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x194]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x1b0], 0xdb32de8b
jmp 0x4090a7
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1b0], 0xa208bfe8
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x12268ba
jmp 0x4090a7
mov dword [ebp - 0x1b0], 0x66c1f412
jmp 0x4090a7
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x15c]
add eax, 0xef77aba8
add eax, ecx
sub eax, 0xef77aba8
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x188]
mov word [eax], 0
mov dword [ebp - 0x1b0], 0x8860f42
jmp 0x4090a7
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1b0], 0x3ed90420
jmp 0x4090a7
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x1b0], 0x17b27e65
jmp 0x4090a7
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x140]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x144]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42b959
call fcn.004202e0
add esp, 8
mov dword [ebp - 0x1b0], 0xb80554e6
jmp 0x4090a7
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0x5168c16f
jmp 0x4090a7
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x190]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0x2ddcef98
jmp 0x4079a9