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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1a4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x432080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a4], 0x298af044
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
sub eax, 0x882ccee4
je 0x4087f3
jmp 0x4072b4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x89123d6c
je 0x407e1c
jmp 0x4072ca
mov eax, dword [ebp - 0x1ac]
sub eax, 0x89765d4c
je 0x407d99
jmp 0x4072e0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8e43a13a
je 0x407b7e
jmp 0x4072f6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x934b75b3
je 0x407c45
jmp 0x40730c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x93d51524
je 0x4082ec
jmp 0x407322
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9407bb38
je 0x407a65
jmp 0x407338
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9b802712
je 0x408542
jmp 0x40734e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9e7afc07
je 0x4079e8
jmp 0x407364
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9f47c2d5
je 0x40890e
jmp 0x40737a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa53de483
je 0x407f27
jmp 0x407390
mov eax, dword [ebp - 0x1ac]
sub eax, 0xaad2d1e9
je 0x407d48
jmp 0x4073a6
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb0711520
je 0x407b4e
jmp 0x4073bc
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb61681bd
je 0x408560
jmp 0x4073d2
mov eax, dword [ebp - 0x1ac]
sub eax, 0xbffd5c19
je 0x407d39
jmp 0x4073e8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc0172055
je 0x40877a
jmp 0x4073fe
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc2089899
je 0x408083
jmp 0x407414
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc69600b7
je 0x4083b2
jmp 0x40742a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc9ed027e
je 0x40885a
jmp 0x407440
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd426ffb8
je 0x40874a
jmp 0x407456
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd5c86404
je 0x408802
jmp 0x40746c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe5e0a30a
je 0x407cfd
jmp 0x407482
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf6bd701a
je 0x40820d
jmp 0x407498
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf88fb47e
je 0x408551
jmp 0x4074ae
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfce1304e
je 0x408428
jmp 0x4074c4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3b3eadd
je 0x407fae
jmp 0x4074da
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8f8c4ab
je 0x4087e4
jmp 0x4074f0
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe6289bd
je 0x407a56
jmp 0x407506
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe797cca
je 0x4086b0
jmp 0x40751c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfa5e10e
je 0x407b6f
jmp 0x407532
mov eax, dword [ebp - 0x1ac]
sub eax, 0xffef512
je 0x407e91
jmp 0x407548
mov eax, dword [ebp - 0x1ac]
sub eax, 0x19fde479
je 0x40865f
jmp 0x40755e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1dfdb6ca
je 0x407e5e
jmp 0x407574
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1f04357c
je 0x407976
jmp 0x40758a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x26f1f0be
je 0x40816c
jmp 0x4075a0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x284f664e
je 0x408032
jmp 0x4075b6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x298af044
je 0x40784f
jmp 0x4075cc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2d108e4e
je 0x40878b
jmp 0x4075e2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2f412c72
je 0x4084a2
jmp 0x4075f8
mov eax, dword [ebp - 0x1ac]
sub eax, 0x30f00a15
je 0x408493
jmp 0x40760e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x32ff7717
je 0x407cdc
jmp 0x407624
mov eax, dword [ebp - 0x1ac]
sub eax, 0x334ac7e2
je 0x407888
jmp 0x40763a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x34fe24e8
je 0x40829c
jmp 0x407650
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3bd5c487
je 0x407fbd
jmp 0x407666
mov eax, dword [ebp - 0x1ac]
sub eax, 0x45535860
je 0x408845
jmp 0x40767c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x45980db5
je 0x408650
jmp 0x407692
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4b2a36dc
je 0x4088ff
jmp 0x4076a8
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4d379d6a
je 0x408335
jmp 0x4076be
mov eax, dword [ebp - 0x1ac]
sub eax, 0x50b889bf
je 0x407eb9
jmp 0x4076d4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5113cb87
je 0x407b27
jmp 0x4076ea
mov eax, dword [ebp - 0x1ac]
sub eax, 0x51141031
je 0x408759
jmp 0x407700
mov eax, dword [ebp - 0x1ac]
sub eax, 0x52f3ae1c
je 0x407997
jmp 0x407716
mov eax, dword [ebp - 0x1ac]
sub eax, 0x536c2d6b
je 0x4084eb
jmp 0x40772c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x572f3d6a
je 0x407bcf
jmp 0x407742
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5abaef16
je 0x4088d3
jmp 0x407758
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5cd4c0be
je 0x4085d6
jmp 0x40776e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5e052c1f
je 0x407fe7
jmp 0x407784
mov eax, dword [ebp - 0x1ac]
sub eax, 0x628a9f50
je 0x40813c
jmp 0x40779a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x629597b9
je 0x40814b
jmp 0x4077b0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x63271d23
je 0x4083a3
jmp 0x4077c6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6a775f8a
je 0x407e2b
jmp 0x4077dc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7100741f
je 0x407d18
jmp 0x4077f2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x745cd8a9
je 0x407ccd
jmp 0x407808
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7d416dcc
je 0x4088e2
jmp 0x40781e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7df902ee
je 0x4088c4
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x1a4], 0x334ac7e2
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
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, 0x2d108e4e
mov ecx, 0x7dfdd6ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dl, byte [ebp - 0x165]
mov eax, 0x52f3ae1c
mov ecx, 0x9407bb38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
mov edx, eax
sub edx, 0x31ac59eb
sub edx, 1
add edx, 0x31ac59eb
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, 0x8f8c4ab
mov ecx, 0x9e7afc07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
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, 0x8f8c4ab
mov ecx, 0xe6289bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xc0172055
jmp 0x40893c
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x11c]
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 - 0x11c]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x180]
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 - 0x110]
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 - 0x188], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1a4], 0x5113cb87
jmp 0x40893c
mov eax, dword [ebp - 0x164]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x15e], al
mov dword [ebp - 0x1a4], 0xb0711520
jmp 0x40893c
mov dl, byte [ebp - 0x15e]
mov eax, 0x8e43a13a
mov ecx, 0xfa5e10e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xc0172055
jmp 0x40893c
mov eax, dword [ebp - 0x188]
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 - 0x18c], eax
mov dword [ebp - 0x1a4], 0x572f3d6a
jmp 0x40893c
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
mov edx, ecx
sub edx, 0x3b8847e0
sub edx, 1
add edx, 0x3b8847e0
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, 0x882ccee4
mov ecx, 0x934b75b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
cmp dword [ebp - 0x18c], 0
setne al
and al, 1
mov byte [ebp - 0x15d], al
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
mov edx, ecx
sub edx, 0xd790ab91
sub edx, 1
add edx, 0xd790ab91
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, 0x882ccee4
mov ecx, 0x745cd8a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x32ff7717
jmp 0x40893c
mov dl, byte [ebp - 0x15d]
mov eax, 0xe5e0a30a
mov ecx, 0xaad2d1e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1a4], 0x7100741f
jmp 0x40893c
mov eax, dword [ebp - 0x15c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xbffd5c19
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xc0172055
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
mov edx, eax
sub edx, 0xf88d408f
sub edx, 1
add edx, 0xf88d408f
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, 0xd5c86404
mov ecx, 0x89765d4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x18c]
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 - 0x158], eax
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
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, 0xd5c86404
mov ecx, 0x89123d6c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x6a775f8a
jmp 0x40893c
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1a4], 0x1dfdb6ca
jmp 0x40893c
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x194]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x198], eax
mov word [ebp - 0x19a], 0
mov dword [ebp - 0x1a4], 0xffef512
jmp 0x40893c
movzx eax, word [ebp - 0x19a]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a4], 0x50b889bf
jmp 0x40893c
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
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, 0x45535860
mov ecx, 0xa53de483
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x14c]
mov ax, word [eax + 6]
mov word [ebp - 0x146], ax
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
mov edx, ecx
add edx, 0xbb143ec8
sub edx, 1
sub edx, 0xbb143ec8
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, 0x45535860
mov ecx, 0x3b3eadd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x3bd5c487
jmp 0x40893c
mov ax, word [ebp - 0x146]
movzx esi, ax
mov edx, dword [ebp - 0x150]
mov eax, 0xb61681bd
mov ecx, 0x5e052c1f
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x198]
sub eax, 0x798a6ad0
add eax, 0x18
add eax, 0x798a6ad0
mov ecx, dword [ebp - 0x198]
movzx ecx, word [ecx + 0x14]
add eax, 0xce3b1d90
add eax, ecx
sub eax, 0xce3b1d90
mov dword [ebp - 0x144], eax
movzx eax, word [ebp - 0x19a]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a4], 0x284f664e
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
mov edx, eax
sub edx, 0xa9b998ea
sub edx, 1
add edx, 0xa9b998ea
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, 0xc9ed027e
mov ecx, 0xc2089899
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x140]
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x144]
add eax, 0xf98cfa02
add eax, ecx
sub eax, 0xf98cfa02
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42b961
call fcn.00420a20
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
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, 0xc9ed027e
mov ecx, 0x628a9f50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x629597b9
jmp 0x40893c
mov dl, byte [ebp - 0x139]
mov eax, 0x26f1f0be
mov ecx, 0x93d51524
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x174]
mov dword [eax], 0
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
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 - 0x174]
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 - 0x170]
mov byte [eax], cl
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x1a0]
mov ecx, dword [ecx + 0xc]
add eax, 0xd15a10be
add eax, ecx
sub eax, 0xd15a10be
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1a4], 0xf6bd701a
jmp 0x40893c
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x134]
sub ecx, 0xbbc1e3f2
add ecx, eax
add ecx, 0xbbc1e3f2
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x138]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041d280
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x1a0]
mov ecx, dword [ecx + 0xc]
add eax, 0x89177746
add eax, ecx
sub eax, 0x89177746
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1a4], 0x34fe24e8
jmp 0x40893c
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
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 - 0x170]
mov byte [eax], cl
mov dword [ebp - 0x1a4], 0x93d51524
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
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, 0x7df902ee
mov ecx, 0x4d379d6a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
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, 0x7df902ee
mov ecx, 0x63271d23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xc69600b7
jmp 0x40893c
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
mov edx, ecx
add edx, 0x84f7354f
sub edx, 1
sub edx, 0x84f7354f
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, 0x5abaef16
mov ecx, 0xfce1304e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov ax, word [ebp - 0x19a]
add ax, 0xb045
add ax, 1
sub ax, 0xb045
mov word [ebp - 0x122], ax
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
mov edx, eax
sub edx, 0x7a103040
sub edx, 1
add edx, 0x7a103040
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, 0x5abaef16
mov ecx, 0x30f00a15
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x2f412c72
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
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, 0x7d416dcc
mov ecx, 0x536c2d6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov ax, word [ebp - 0x122]
mov word [ebp - 0x19a], ax
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
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, 0x7d416dcc
mov ecx, 0x9b802712
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xf88fb47e
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xffef512
jmp 0x40893c
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
mov edx, ecx
add edx, 0x7cef8aa0
sub edx, 1
sub edx, 0x7cef8aa0
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, 0x4b2a36dc
mov ecx, 0x5cd4c0be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x120], eax
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
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, 0x4b2a36dc
mov ecx, 0x45980db5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x19fde479
jmp 0x40893c
mov eax, dword [0x433594]
mov ecx, dword [0x433590]
mov edx, eax
sub edx, 0xc96ee76a
sub edx, 1
add edx, 0xc96ee76a
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, 0x9f47c2d5
mov ecx, 0xe797cca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x433594]
mov eax, dword [0x433590]
mov edx, ecx
add edx, 0x4c18e50f
sub edx, 1
sub edx, 0x4c18e50f
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, 0x9f47c2d5
mov ecx, 0xd426ffb8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x51141031
jmp 0x40893c
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xc0172055
jmp 0x40893c
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041c430
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041d120
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x1a4], 0x7dfdd6ee
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x9e7afc07
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x934b75b3
jmp 0x40893c
mov eax, dword [ebp - 0x18c]
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], 0x89765d4c
jmp 0x40893c
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1a4], 0xa53de483
jmp 0x40893c
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]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42b961
call fcn.00420a20
add esp, 8
mov dword [ebp - 0x1a4], 0xc2089899
jmp 0x40893c
mov dword [ebp - 0x1a4], 0xfce1304e
jmp 0x40893c
mov ax, word [ebp - 0x122]
mov word [ebp - 0x19a], ax
mov dword [ebp - 0x1a4], 0x536c2d6b
jmp 0x40893c
mov dword [ebp - 0x1a4], 0x5cd4c0be
jmp 0x40893c
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xe797cca
jmp 0x407298