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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x74
mov eax, dword [0x4f1080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x6e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x6d], al
mov dword [ebp - 0x74], 0x1b9aa11b
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
sub eax, 0x84c7081b
je 0x40feea
jmp 0x40f440
mov eax, dword [ebp - 0x78]
sub eax, 0x8c3873c3
je 0x40fb2d
jmp 0x40f453
mov eax, dword [ebp - 0x78]
sub eax, 0x8e41a3ed
je 0x410247
jmp 0x40f466
mov eax, dword [ebp - 0x78]
sub eax, 0x93439e52
je 0x40fd38
jmp 0x40f479
mov eax, dword [ebp - 0x78]
sub eax, 0x9438a525
je 0x4101ab
jmp 0x40f48c
mov eax, dword [ebp - 0x78]
sub eax, 0x9c881466
je 0x4103a2
jmp 0x40f49f
mov eax, dword [ebp - 0x78]
sub eax, 0x9d503aa4
je 0x40fb39
jmp 0x40f4b2
mov eax, dword [ebp - 0x78]
sub eax, 0xa26b10c1
je 0x40f8ad
jmp 0x40f4c5
mov eax, dword [ebp - 0x78]
sub eax, 0xa32bbce3
je 0x40fc9e
jmp 0x40f4d8
mov eax, dword [ebp - 0x78]
sub eax, 0xa4a5752c
je 0x40f820
jmp 0x40f4eb
mov eax, dword [ebp - 0x78]
sub eax, 0xacfd4a96
je 0x40fd8b
jmp 0x40f4fe
mov eax, dword [ebp - 0x78]
sub eax, 0xb2bd6311
je 0x40fd6a
jmp 0x40f511
mov eax, dword [ebp - 0x78]
sub eax, 0xb5759eec
je 0x40fbc7
jmp 0x40f524
mov eax, dword [ebp - 0x78]
sub eax, 0xb5788c3a
je 0x410594
jmp 0x40f537
mov eax, dword [ebp - 0x78]
sub eax, 0xb596963a
je 0x40fdc8
jmp 0x40f54a
mov eax, dword [ebp - 0x78]
sub eax, 0xbde164c8
je 0x410137
jmp 0x40f55d
mov eax, dword [ebp - 0x78]
sub eax, 0xbee907d1
je 0x410308
jmp 0x40f570
mov eax, dword [ebp - 0x78]
sub eax, 0xd226b70b
je 0x4105c1
jmp 0x40f583
mov eax, dword [ebp - 0x78]
sub eax, 0xd393ee9b
je 0x40fe3b
jmp 0x40f596
mov eax, dword [ebp - 0x78]
sub eax, 0xdbf3218f
je 0x410044
jmp 0x40f5a9
mov eax, dword [ebp - 0x78]
sub eax, 0xddc72594
je 0x410253
jmp 0x40f5bc
mov eax, dword [ebp - 0x78]
sub eax, 0xe54bbb4d
je 0x4100b7
jmp 0x40f5cf
mov eax, dword [ebp - 0x78]
sub eax, 0xeca2d129
je 0x40fc50
jmp 0x40f5e2
mov eax, dword [ebp - 0x78]
sub eax, 0xfa79b17d
je 0x4105e1
jmp 0x40f5f5
mov eax, dword [ebp - 0x78]
sub eax, 0xfb22b9cc
je 0x40f8b9
jmp 0x40f608
mov eax, dword [ebp - 0x78]
sub eax, 0xfb2641c6
je 0x40fd1d
jmp 0x40f61b
mov eax, dword [ebp - 0x78]
sub eax, 0x2d4b55d
je 0x40ff69
jmp 0x40f62e
mov eax, dword [ebp - 0x78]
sub eax, 0x3e1dd8b
je 0x40fadf
jmp 0x40f641
mov eax, dword [ebp - 0x78]
sub eax, 0x57cb28c
je 0x41023b
jmp 0x40f654
mov eax, dword [ebp - 0x78]
sub eax, 0x8fdb60e
je 0x410038
jmp 0x40f667
mov eax, dword [ebp - 0x78]
sub eax, 0xa041376
je 0x40fb5c
jmp 0x40f67a
mov eax, dword [ebp - 0x78]
sub eax, 0x16ef32ea
je 0x410165
jmp 0x40f68d
mov eax, dword [ebp - 0x78]
sub eax, 0x1b9aa11b
je 0x40f7d5
jmp 0x40f6a0
mov eax, dword [ebp - 0x78]
sub eax, 0x1b9ab774
je 0x41042d
jmp 0x40f6b3
mov eax, dword [ebp - 0x78]
sub eax, 0x1e2e02d1
je 0x40fc44
jmp 0x40f6c6
mov eax, dword [ebp - 0x78]
sub eax, 0x34e8c2a1
je 0x41043e
jmp 0x40f6d9
mov eax, dword [ebp - 0x78]
sub eax, 0x3eb13e5c
je 0x41014f
jmp 0x40f6ec
mov eax, dword [ebp - 0x78]
sub eax, 0x3f1ed49a
je 0x410556
jmp 0x40f6ff
mov eax, dword [ebp - 0x78]
sub eax, 0x451daf63
je 0x410143
jmp 0x40f712
mov eax, dword [ebp - 0x78]
sub eax, 0x457ec993
je 0x41044a
jmp 0x40f725
mov eax, dword [ebp - 0x78]
sub eax, 0x48c20a6e
je 0x40fa6c
jmp 0x40f738
mov eax, dword [ebp - 0x78]
sub eax, 0x54e06dd7
je 0x4104e0
jmp 0x40f74b
mov eax, dword [ebp - 0x78]
sub eax, 0x566cd62b
je 0x410314
jmp 0x40f75e
mov eax, dword [ebp - 0x78]
sub eax, 0x571b3033
je 0x4102a1
jmp 0x40f771
mov eax, dword [ebp - 0x78]
sub eax, 0x58e62fe0
je 0x410456
jmp 0x40f784
mov eax, dword [ebp - 0x78]
sub eax, 0x691feb28
je 0x410337
jmp 0x40f797
mov eax, dword [ebp - 0x78]
sub eax, 0x6dacdb44
je 0x40fef6
jmp 0x40f7aa
mov eax, dword [ebp - 0x78]
sub eax, 0x6e74ea3a
je 0x410478
jmp 0x40f7bd
mov eax, dword [ebp - 0x78]
sub eax, 0x7b919a3a
je 0x410465
jmp 0x40f7d0
jmp 0x410608
mov bl, byte [ebp - 0x6e]
mov dh, byte [ebp - 0x6d]
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, 0x34e8c2a1
mov ecx, 0xa4a5752c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
sub edx, 0xb8662dc4
sub edx, 1
add edx, 0xb8662dc4
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, 0x34e8c2a1
mov ecx, 0xa26b10c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0xfb22b9cc
jmp 0x410608
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041fcc0
add esp, 0xc
lea eax, str.ntdll.dll
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
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
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
lea eax, str.c:windows_system32_ntdll.dll
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 ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
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 ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
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 edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x54]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0xadf27560
add ecx, eax
sub ecx, 0xadf27560
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov word [eax], 0
mov dword [ebp - 0x74], 0x48c20a6e
jmp 0x410608
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
add edx, 0x910fb21e
sub edx, 1
sub edx, 0x910fb21e
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, 0x457ec993
mov ecx, 0x3e1dd8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
sub edx, 0xdad29d20
sub edx, 1
add edx, 0xdad29d20
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, 0x457ec993
mov ecx, 0x8c3873c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0x9d503aa4
jmp 0x410608
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x74], 0xa041376
jmp 0x410608
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
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, 0x58e62fe0
mov ecx, 0xb5759eec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x38]
mov ax, word [eax]
mov word [ebp - 0x34], ax
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
sub edx, 0xd90c9395
sub edx, 1
add edx, 0xd90c9395
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, 0x58e62fe0
mov ecx, 0x1e2e02d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0xeca2d129
jmp 0x410608
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
sub edx, 0x9b29e483
sub edx, 1
add edx, 0x9b29e483
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, 0x7b919a3a
mov ecx, 0xa32bbce3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov ax, word [ebp - 0x34]
movzx ecx, ax
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
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, 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, 0x7b919a3a
mov ecx, 0xfb2641c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dl, byte [ebp - 0x31]
mov eax, 0xddc72594
mov ecx, 0x93439e52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x74], 0xb2bd6311
jmp 0x410608
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x74], 0xacfd4a96
jmp 0x410608
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42ed3d
call fcn.004235c0
add esp, 8
mov edx, eax
mov eax, 0xb596963a
mov ecx, 0x451daf63
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
add edx, 0x266d3796
sub edx, 1
sub edx, 0x266d3796
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, 0x6e74ea3a
mov ecx, 0xd393ee9b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x44]
mov dword [eax], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x59e0cd6c
add edx, eax
add edx, 0x59e0cd6c
mov eax, dword [ebp - 0x44]
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]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x40]
mov byte [eax], cl
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
sub edx, 0x112d6f45
sub edx, 1
add edx, 0x112d6f45
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, 0x6e74ea3a
mov ecx, 0x84c7081b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0x6dacdb44
jmp 0x410608
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
sub edx, 0x4e45aea
sub edx, 1
add edx, 0x4e45aea
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, 0x54e06dd7
mov ecx, 0x2d4b55d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
add edx, 0x2b2221a8
add edx, eax
sub edx, 0x2b2221a8
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xc6c35c79
add ecx, eax
sub ecx, 0xc6c35c79
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041fe20
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x5d5c9ca2
add eax, ecx
sub eax, 0x5d5c9ca2
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
add edx, 0x178d0687
sub edx, 1
sub edx, 0x178d0687
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, 0x54e06dd7
mov ecx, 0x8fdb60e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0xdbf3218f
jmp 0x410608
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
sub edx, 0x43a00421
sub edx, 1
add edx, 0x43a00421
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, 0x3f1ed49a
mov ecx, 0xe54bbb4d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
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 - 0x40]
mov byte [eax], cl
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
sub edx, 0xca114a76
sub edx, 1
add edx, 0xca114a76
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, 0x3f1ed49a
mov ecx, 0xbde164c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0x451daf63
jmp 0x410608
mov dword [ebp - 0x74], 0x3eb13e5c
jmp 0x410608
mov eax, dword [ebp - 0x4c]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0x74], 0x16ef32ea
jmp 0x410608
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
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, 0xb5788c3a
mov ecx, 0x9438a525
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x4c]
mov word [eax], cx
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
mov edx, ecx
sub edx, 0xde32484c
sub edx, 1
add edx, 0xde32484c
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, 0xb5788c3a
mov ecx, 0x57cb28c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0x8e41a3ed
jmp 0x410608
mov dword [ebp - 0x74], 0x9d503aa4
jmp 0x410608
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
sub edx, 0x7deef3af
sub edx, 1
add edx, 0x7deef3af
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, 0xd226b70b
mov ecx, 0x571b3033
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x4f2544]
mov ecx, dword [0x4f2540]
mov edx, eax
add edx, 0x662ed2f5
sub edx, 1
sub edx, 0x662ed2f5
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, 0xd226b70b
mov ecx, 0xbee907d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov dword [ebp - 0x74], 0x566cd62b
jmp 0x410608
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x74], 0x691feb28
jmp 0x410608
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
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, 0xfa79b17d
mov ecx, 0x9c881466
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [0x4f2544]
mov eax, dword [0x4f2540]
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, 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, 0xfa79b17d
mov ecx, 0x1b9ab774
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x410608
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041efb0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x74], 0xa4a5752c
jmp 0x410608
mov dword [ebp - 0x74], 0x3e1dd8b
jmp 0x410608
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x74], 0xb5759eec
jmp 0x410608
mov ax, word [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x74], 0xa32bbce3
jmp 0x410608
mov eax, dword [ebp - 0x44]
mov dword [eax], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x44]
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]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x40]
mov byte [eax], cl
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x74], 0xd393ee9b
jmp 0x410608
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x34c692cb
add ecx, eax
sub ecx, 0x34c692cb
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041fe20
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x74], 0x2d4b55d
jmp 0x410608
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
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 - 0x40]
mov byte [eax], cl
mov dword [ebp - 0x74], 0xe54bbb4d
jmp 0x410608
mov ax, word [ebp - 0x16]
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x4c]
mov word [eax], cx
mov dword [ebp - 0x74], 0x9438a525
jmp 0x410608
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], 0x571b3033
jmp 0x410608
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x74], 0x9c881466
jmp 0x40f42a