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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x9c
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x446080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
mov edx, ecx
add edx, 0x741bb47d
sub edx, 1
sub edx, 0x741bb47d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x96], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x95], al
mov dword [ebp - 0x9c], 0x51003c1d
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
sub eax, 0x83127274
je 0x414060
jmp 0x4132b3
mov eax, dword [ebp - 0xa4]
sub eax, 0x836b084d
je 0x4145fa
jmp 0x4132c9
mov eax, dword [ebp - 0xa4]
sub eax, 0x8f9491b1
je 0x414485
jmp 0x4132df
mov eax, dword [ebp - 0xa4]
sub eax, 0xa1810e7c
je 0x414308
jmp 0x4132f5
mov eax, dword [ebp - 0xa4]
sub eax, 0xa48c4314
je 0x413b1f
jmp 0x41330b
mov eax, dword [ebp - 0xa4]
sub eax, 0xa55d0a03
je 0x413903
jmp 0x413321
mov eax, dword [ebp - 0xa4]
sub eax, 0xad775127
je 0x4144fb
jmp 0x413337
mov eax, dword [ebp - 0xa4]
sub eax, 0xb22ac05d
je 0x414139
jmp 0x41334d
mov eax, dword [ebp - 0xa4]
sub eax, 0xbcd519d8
je 0x414194
jmp 0x413363
mov eax, dword [ebp - 0xa4]
sub eax, 0xbd1fed43
je 0x414278
jmp 0x413379
mov eax, dword [ebp - 0xa4]
sub eax, 0xc0aa118c
je 0x413c73
jmp 0x41338f
mov eax, dword [ebp - 0xa4]
sub eax, 0xc5ee085b
je 0x414692
jmp 0x4133a5
mov eax, dword [ebp - 0xa4]
sub eax, 0xc62cba5e
je 0x414539
jmp 0x4133bb
mov eax, dword [ebp - 0xa4]
sub eax, 0xc64a46f9
je 0x413dff
jmp 0x4133d1
mov eax, dword [ebp - 0xa4]
sub eax, 0xcb6e69e6
je 0x413d1e
jmp 0x4133e7
mov eax, dword [ebp - 0xa4]
sub eax, 0xcd79b4cd
je 0x414680
jmp 0x4133fd
mov eax, dword [ebp - 0xa4]
sub eax, 0xceb404ee
je 0x4140af
jmp 0x413413
mov eax, dword [ebp - 0xa4]
sub eax, 0xd67e9490
je 0x414202
jmp 0x413429
mov eax, dword [ebp - 0xa4]
sub eax, 0xd6b5cfa3
je 0x4142f9
jmp 0x41343f
mov eax, dword [ebp - 0xa4]
sub eax, 0xd8ba0f5f
je 0x414037
jmp 0x413455
mov eax, dword [ebp - 0xa4]
sub eax, 0xd963ed73
je 0x413fed
jmp 0x41346b
mov eax, dword [ebp - 0xa4]
sub eax, 0xeed0b601
je 0x414330
jmp 0x413481
mov eax, dword [ebp - 0xa4]
sub eax, 0xf38fac28
je 0x413834
jmp 0x413497
mov eax, dword [ebp - 0xa4]
sub eax, 0xf48c3276
je 0x414408
jmp 0x4134ad
mov eax, dword [ebp - 0xa4]
sub eax, 0xf4d2f488
je 0x413ca8
jmp 0x4134c3
mov eax, dword [ebp - 0xa4]
sub eax, 0xf9498368
je 0x413c45
jmp 0x4134d9
mov eax, dword [ebp - 0xa4]
sub eax, 0xfa57227f
je 0x41466b
jmp 0x4134ef
mov eax, dword [ebp - 0xa4]
sub eax, 0xfc3913ed
je 0x4138ab
jmp 0x413505
mov eax, dword [ebp - 0xa4]
sub eax, 0xfdb9749e
je 0x413a28
jmp 0x41351b
mov eax, dword [ebp - 0xa4]
sub eax, 0x1eee646
je 0x413c91
jmp 0x413531
mov eax, dword [ebp - 0xa4]
sub eax, 0x2451ba3
je 0x413e3e
jmp 0x413547
mov eax, dword [ebp - 0xa4]
sub eax, 0x4099ac3
je 0x41450a
jmp 0x41355d
mov eax, dword [ebp - 0xa4]
sub eax, 0x4255e24
je 0x413f07
jmp 0x413573
mov eax, dword [ebp - 0xa4]
sub eax, 0x95b89da
je 0x414321
jmp 0x413589
mov eax, dword [ebp - 0xa4]
sub eax, 0xac1bab9
je 0x413b40
jmp 0x41359f
mov eax, dword [ebp - 0xa4]
sub eax, 0xb3fd243
je 0x4141f3
jmp 0x4135b5
mov eax, dword [ebp - 0xa4]
sub eax, 0x124ec7cb
je 0x413a37
jmp 0x4135cb
mov eax, dword [ebp - 0xa4]
sub eax, 0x14a1a380
je 0x41400b
jmp 0x4135e1
mov eax, dword [ebp - 0xa4]
sub eax, 0x15dd335e
je 0x413cc6
jmp 0x4135f7
mov eax, dword [ebp - 0xa4]
sub eax, 0x1b387c71
je 0x413dcc
jmp 0x41360d
mov eax, dword [ebp - 0xa4]
sub eax, 0x1f303663
je 0x413f16
jmp 0x413623
mov eax, dword [ebp - 0xa4]
sub eax, 0x218119b9
je 0x413c54
jmp 0x413639
mov eax, dword [ebp - 0xa4]
sub eax, 0x2c62c511
je 0x413f8c
jmp 0x41364f
mov eax, dword [ebp - 0xa4]
sub eax, 0x32132253
je 0x413a55
jmp 0x413665
mov eax, dword [ebp - 0xa4]
sub eax, 0x38058d84
je 0x4138ba
jmp 0x41367b
mov eax, dword [ebp - 0xa4]
sub eax, 0x4386cd3b
je 0x414519
jmp 0x413691
mov eax, dword [ebp - 0xa4]
sub eax, 0x4d3d7ac2
je 0x413e1e
jmp 0x4136a7
mov eax, dword [ebp - 0xa4]
sub eax, 0x4fcd0312
je 0x413b5e
jmp 0x4136bd
mov eax, dword [ebp - 0xa4]
sub eax, 0x50014411
je 0x414659
jmp 0x4136d3
mov eax, dword [ebp - 0xa4]
sub eax, 0x51003c1d
je 0x4137e0
jmp 0x4136e9
mov eax, dword [ebp - 0xa4]
sub eax, 0x5158e493
je 0x4146b2
jmp 0x4136ff
mov eax, dword [ebp - 0xa4]
sub eax, 0x5504fa74
je 0x413bb6
jmp 0x413715
mov eax, dword [ebp - 0xa4]
sub eax, 0x5bbf64a4
je 0x414381
jmp 0x41372b
mov eax, dword [ebp - 0xa4]
sub eax, 0x5d93a179
je 0x413e8f
jmp 0x413741
mov eax, dword [ebp - 0xa4]
sub eax, 0x5e653582
je 0x413cd5
jmp 0x413757
mov eax, dword [ebp - 0xa4]
sub eax, 0x63eb4e75
je 0x41452a
jmp 0x41376d
mov eax, dword [ebp - 0xa4]
sub eax, 0x655c8866
je 0x414417
jmp 0x413783
mov eax, dword [ebp - 0xa4]
sub eax, 0x680ecad2
je 0x413ddb
jmp 0x413799
mov eax, dword [ebp - 0xa4]
sub eax, 0x6eb2dc2f
je 0x4145b0
jmp 0x4137af
mov eax, dword [ebp - 0xa4]
sub eax, 0x77934fee
je 0x413b6d
jmp 0x4137c5
mov eax, dword [ebp - 0xa4]
sub eax, 0x7a9075b1
je 0x413a64
jmp 0x4137db
jmp 0x4146e1
mov bl, byte [ebp - 0x96]
mov dh, byte [ebp - 0x95]
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, 0x63eb4e75
mov ecx, 0xf38fac28
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
add edx, 0xab3ff7d0
sub edx, 1
sub edx, 0xab3ff7d0
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, 0x63eb4e75
mov ecx, 0xfc3913ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x38058d84
jmp 0x4146e1
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
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, 0xc62cba5e
mov ecx, 0xa55d0a03
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov ecx, dword [ebp - 0xa0]
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
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
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0042f8e0
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
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, 0xc62cba5e
mov ecx, 0xfdb9749e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x124ec7cb
jmp 0x4146e1
mov edx, dword [ebp - 0x58]
mov eax, 0x32132253
mov ecx, 0x7a9075b1
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x4386cd3b
jmp 0x4146e1
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov dword [ebp - 0x9c], 0xa48c4314
jmp 0x4146e1
mov eax, dword [ebp - 0x7c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0x9c], 0xac1bab9
jmp 0x4146e1
mov dl, byte [ebp - 0x51]
mov eax, 0x77934fee
mov ecx, 0x4fcd0312
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x4386cd3b
jmp 0x4146e1
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
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, 0x6eb2dc2f
mov ecx, 0x5504fa74
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x7c]
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 dword [ebp - 0x50], eax
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
sub edx, 0x75cfd08a
sub edx, 1
add edx, 0x75cfd08a
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, 0x6eb2dc2f
mov ecx, 0xf9498368
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x218119b9
jmp 0x4146e1
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x9c], 0xc0aa118c
jmp 0x4146e1
mov edx, dword [ebp - 0x4c]
mov eax, 0x1eee646
mov ecx, 0x5e653582
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x9c], 0xf4d2f488
jmp 0x4146e1
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x15dd335e
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x4386cd3b
jmp 0x4146e1
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
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, 0x836b084d
mov ecx, 0xcb6e69e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x78]
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 ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
sub edx, 0x9eb0b012
sub edx, 1
add edx, 0x9eb0b012
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, 0x836b084d
mov ecx, 0x1b387c71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x680ecad2
jmp 0x4146e1
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
sub eax, 0x53850b04
add eax, ecx
add eax, 0x53850b04
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x9c], 0xc64a46f9
jmp 0x4146e1
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x9c], 0x4d3d7ac2
jmp 0x4146e1
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x9c], 0x2451ba3
jmp 0x4146e1
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
sub edx, 0x36f23003
sub edx, 1
add edx, 0x36f23003
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, 0x50014411
mov ecx, 0x5d93a179
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x34]
movzx eax, word [eax + 6]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
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, 0x50014411
mov ecx, 0x4255e24
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x1f303663
jmp 0x4146e1
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
mov edx, ecx
add edx, 0xab04403
sub edx, 1
sub edx, 0xab04403
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, 0xfa57227f
mov ecx, 0x2c62c511
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
sub edx, 0x78c61f10
sub edx, 1
add edx, 0x78c61f10
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, 0xfa57227f
mov ecx, 0xd963ed73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dl, byte [ebp - 0x29]
mov eax, 0xeed0b601
mov ecx, 0x14a1a380
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x9c], 0xd8ba0f5f
jmp 0x4146e1
mov eax, dword [ebp - 0x24]
movzx edx, word [eax]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x9c], 0x83127274
jmp 0x4146e1
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x20]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43f1e3
call fcn.004331e0
add esp, 8
mov edx, eax
mov eax, 0xceb404ee
mov ecx, 0xb3fd243
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x74f0ca30
add edx, eax
sub edx, 0x74f0ca30
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0xc9c606fb
add eax, ecx
add eax, 0xc9c606fb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x9c], 0xb22ac05d
jmp 0x4146e1
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x64]
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.0042fa40
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x9c], 0xbcd519d8
jmp 0x4146e1
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x5f3e0fd9
add esi, eax
add esi, 0x5f3e0fd9
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x18]
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 - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x9c], 0xb3fd243
jmp 0x4146e1
mov dword [ebp - 0x9c], 0xd67e9490
jmp 0x4146e1
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
mov edx, ecx
sub edx, 0xe9249d3b
sub edx, 1
add edx, 0xe9249d3b
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, 0xcd79b4cd
mov ecx, 0xbd1fed43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0xe], ax
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
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, 0xcd79b4cd
mov ecx, 0xd6b5cfa3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0xa1810e7c
jmp 0x4146e1
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0xe]
mov word [eax], cx
mov dword [ebp - 0x9c], 0x95b89da
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x4d3d7ac2
jmp 0x4146e1
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
sub edx, 0x814f8687
sub edx, 1
add edx, 0x814f8687
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, 0xc5ee085b
mov ecx, 0x5bbf64a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
mov edx, ecx
sub edx, 0x3ab9d5b3
sub edx, 1
add edx, 0x3ab9d5b3
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, 0xc5ee085b
mov ecx, 0xf48c3276
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x655c8866
jmp 0x4146e1
mov ecx, dword [0x447584]
mov eax, dword [0x447580]
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, 0x5158e493
mov ecx, 0x8f9491b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x447584]
mov ecx, dword [0x447580]
mov edx, eax
add edx, 0xdd5d1889
sub edx, 1
sub edx, 0xdd5d1889
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, 0x5158e493
mov ecx, 0xad775127
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x4099ac3
jmp 0x4146e1
mov dword [ebp - 0x9c], 0x4386cd3b
jmp 0x4146e1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0042ebf0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x9c], 0xf38fac28
jmp 0x4146e1
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0042f8e0
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x9c], 0xa55d0a03
jmp 0x4146e1
mov eax, dword [ebp - 0x7c]
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 dword [ebp - 0x9c], 0x5504fa74
jmp 0x4146e1
mov eax, dword [ebp - 0x78]
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 ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x9c], 0xcb6e69e6
jmp 0x4146e1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x9c], 0x5d93a179
jmp 0x4146e1
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x9c], 0x2c62c511
jmp 0x4146e1
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x9c], 0xbd1fed43
jmp 0x4146e1
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x5bbf64a4
jmp 0x4146e1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x8f9491b1
jmp 0x413297