Function at 0x410850
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 [0x43b080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43c5a4]
mov eax, dword [0x43c5a0]
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 - 0x96], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x95], al
mov dword [ebp - 0x9c], 0xcc8cd669
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
sub eax, 0x83dfd012
je 0x41142b
jmp 0x4108cb
mov eax, dword [ebp - 0xa4]
sub eax, 0x85a56b77
je 0x411579
jmp 0x4108e1
mov eax, dword [ebp - 0xa4]
sub eax, 0x8ba8c307
je 0x41113a
jmp 0x4108f7
mov eax, dword [ebp - 0xa4]
sub eax, 0x8e559e2a
je 0x411763
jmp 0x41090d
mov eax, dword [ebp - 0xa4]
sub eax, 0x966c2e18
je 0x4114ee
jmp 0x410923
mov eax, dword [ebp - 0xa4]
sub eax, 0x96c68ef9
je 0x410f31
jmp 0x410939
mov eax, dword [ebp - 0xa4]
sub eax, 0xa4731d50
je 0x4111fc
jmp 0x41094f
mov eax, dword [ebp - 0xa4]
sub eax, 0xafa4ab6f
je 0x411316
jmp 0x410965
mov eax, dword [ebp - 0xa4]
sub eax, 0xb409cedf
je 0x410e48
jmp 0x41097b
mov eax, dword [ebp - 0xa4]
sub eax, 0xb5c13ea9
je 0x411662
jmp 0x410991
mov eax, dword [ebp - 0xa4]
sub eax, 0xb7f0ce5e
je 0x411a0d
jmp 0x4109a7
mov eax, dword [ebp - 0xa4]
sub eax, 0xbace62f6
je 0x411480
jmp 0x4109bd
mov eax, dword [ebp - 0xa4]
sub eax, 0xc83c2f01
je 0x411307
jmp 0x4109d3
mov eax, dword [ebp - 0xa4]
sub eax, 0xcc8cd669
je 0x410db6
jmp 0x4109e9
mov eax, dword [ebp - 0xa4]
sub eax, 0xd1129b15
je 0x4117a4
jmp 0x4109ff
mov eax, dword [ebp - 0xa4]
sub eax, 0xd8aa4045
je 0x410fea
jmp 0x410a15
mov eax, dword [ebp - 0xa4]
sub eax, 0xe085a182
je 0x411588
jmp 0x410a2b
mov eax, dword [ebp - 0xa4]
sub eax, 0xf2643ac5
je 0x4119e0
jmp 0x410a41
mov eax, dword [ebp - 0xa4]
sub eax, 0xf85339d4
je 0x41173a
jmp 0x410a57
mov eax, dword [ebp - 0xa4]
sub eax, 0xf9238662
je 0x41119a
jmp 0x410a6d
mov eax, dword [ebp - 0xa4]
sub eax, 0xfb0b2a5d
je 0x4119ef
jmp 0x410a83
mov eax, dword [ebp - 0xa4]
sub eax, 0xa609abd
je 0x411805
jmp 0x410a99
mov eax, dword [ebp - 0xa4]
sub eax, 0xd4be603
je 0x410e57
jmp 0x410aaf
mov eax, dword [ebp - 0xa4]
sub eax, 0xdd3ef3b
je 0x410de5
jmp 0x410ac5
mov eax, dword [ebp - 0xa4]
sub eax, 0x1385c239
je 0x411a7d
jmp 0x410adb
mov eax, dword [ebp - 0xa4]
sub eax, 0x160c9e89
je 0x4112d2
jmp 0x410af1
mov eax, dword [ebp - 0xa4]
sub eax, 0x19ce3412
je 0x41118b
jmp 0x410b07
mov eax, dword [ebp - 0xa4]
sub eax, 0x1b46a4e2
je 0x411644
jmp 0x410b1d
mov eax, dword [ebp - 0xa4]
sub eax, 0x1c0fea02
je 0x4115a7
jmp 0x410b33
mov eax, dword [ebp - 0xa4]
sub eax, 0x1d2b3eaf
je 0x4117b3
jmp 0x410b49
mov eax, dword [ebp - 0xa4]
sub eax, 0x1eeba5b0
je 0x410ff9
jmp 0x410b5f
mov eax, dword [ebp - 0xa4]
sub eax, 0x1f66ca5e
je 0x41141c
jmp 0x410b75
mov eax, dword [ebp - 0xa4]
sub eax, 0x1f8a4356
je 0x411a27
jmp 0x410b8b
mov eax, dword [ebp - 0xa4]
sub eax, 0x240adeab
je 0x41194a
jmp 0x410ba1
mov eax, dword [ebp - 0xa4]
sub eax, 0x2748e9c8
je 0x4115f8
jmp 0x410bb7
mov eax, dword [ebp - 0xa4]
sub eax, 0x33ff8572
je 0x41135f
jmp 0x410bcd
mov eax, dword [ebp - 0xa4]
sub eax, 0x344e134a
je 0x4118d4
jmp 0x410be3
mov eax, dword [ebp - 0xa4]
sub eax, 0x3693ab97
je 0x4118b6
jmp 0x410bf9
mov eax, dword [ebp - 0xa4]
sub eax, 0x3838f12e
je 0x4119cf
jmp 0x410c0f
mov eax, dword [ebp - 0xa4]
sub eax, 0x38983186
je 0x4115c5
jmp 0x410c25
mov eax, dword [ebp - 0xa4]
sub eax, 0x39c3d7e2
je 0x411039
jmp 0x410c3b
mov eax, dword [ebp - 0xa4]
sub eax, 0x3c360f18
je 0x410f22
jmp 0x410c51
mov eax, dword [ebp - 0xa4]
sub eax, 0x48597426
je 0x411450
jmp 0x410c67
mov eax, dword [ebp - 0xa4]
sub eax, 0x50f4d7cc
je 0x410ea8
jmp 0x410c7d
mov eax, dword [ebp - 0xa4]
sub eax, 0x54ec7b9b
je 0x4119fe
jmp 0x410c93
mov eax, dword [ebp - 0xa4]
sub eax, 0x56807de8
je 0x4117ec
jmp 0x410ca9
mov eax, dword [ebp - 0xa4]
sub eax, 0x5849003e
je 0x4119c0
jmp 0x410cbf
mov eax, dword [ebp - 0xa4]
sub eax, 0x5a8641e8
je 0x4111b1
jmp 0x410cd5
mov eax, dword [ebp - 0xa4]
sub eax, 0x5d2d2e5c
je 0x4118a7
jmp 0x410ceb
mov eax, dword [ebp - 0xa4]
sub eax, 0x5dd21eaf
je 0x4110e9
jmp 0x410d01
mov eax, dword [ebp - 0xa4]
sub eax, 0x67a395e9
je 0x4110bf
jmp 0x410d17
mov eax, dword [ebp - 0xa4]
sub eax, 0x6d36ef41
je 0x4117cc
jmp 0x410d2d
mov eax, dword [ebp - 0xa4]
sub eax, 0x6e7195fb
je 0x411aa4
jmp 0x410d43
mov eax, dword [ebp - 0xa4]
sub eax, 0x73643d87
je 0x411856
jmp 0x410d59
mov eax, dword [ebp - 0xa4]
sub eax, 0x789aad65
je 0x4112e9
jmp 0x410d6f
mov eax, dword [ebp - 0xa4]
sub eax, 0x79963e51
je 0x41124d
jmp 0x410d85
mov eax, dword [ebp - 0xa4]
sub eax, 0x7c25d08b
je 0x411a92
jmp 0x410d9b
mov eax, dword [ebp - 0xa4]
sub eax, 0x7f0721a9
je 0x4112b4
jmp 0x410db1
jmp 0x411ad3
mov al, byte [ebp - 0x96]
mov cl, byte [ebp - 0x95]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xf2643ac5
mov ecx, 0xdd3ef3b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
add edx, 0xaf3a7d5
sub edx, 1
sub edx, 0xaf3a7d5
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, 0xf2643ac5
mov ecx, 0xb409cedf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0xd4be603
jmp 0x411ad3
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
add edx, 0x972072b4
sub edx, 1
sub edx, 0x972072b4
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, 0xfb0b2a5d
mov ecx, 0x50f4d7cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x80], eax
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
sub edx, 0x62c1223f
sub edx, 1
add edx, 0x62c1223f
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, 0xfb0b2a5d
mov ecx, 0x3c360f18
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x96c68ef9
jmp 0x411ad3
mov ecx, dword [ebp - 0xa0]
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.004249b0
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 edx, dword [ebp - 0x88]
mov eax, 0xd8aa4045
mov ecx, 0x1eeba5b0
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x3838f12e
jmp 0x411ad3
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 dword [ebp - 0x9c], 0x39c3d7e2
jmp 0x411ad3
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 dword [ebp - 0x58], eax
mov dword [ebp - 0x9c], 0x67a395e9
jmp 0x411ad3
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov esi, 0xffffffff
mov eax, 0xf9238662
mov ecx, 0x5dd21eaf
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
sub edx, 0x7e39f554
sub edx, 1
add edx, 0x7e39f554
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, 0x54ec7b9b
mov ecx, 0x8ba8c307
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
sub edx, 0x9309f34c
sub edx, 1
add edx, 0x9309f34c
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, 0x54ec7b9b
mov ecx, 0x19ce3412
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x3838f12e
jmp 0x411ad3
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x9c], 0x5a8641e8
jmp 0x411ad3
mov eax, dword [ebp - 0x54]
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 dword [ebp - 0x9c], 0xa4731d50
jmp 0x411ad3
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
add edx, 0x76d7d1c8
sub edx, 1
sub edx, 0x76d7d1c8
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, 0xb7f0ce5e
mov ecx, 0x79963e51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
sub edx, 0x3d7bb5f
sub edx, 1
add edx, 0x3d7bb5f
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, 0xb7f0ce5e
mov ecx, 0x7f0721a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dl, byte [ebp - 0x49]
mov eax, 0x160c9e89
mov ecx, 0xafa4ab6f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x9c], 0x789aad65
jmp 0x411ad3
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0xc83c2f01
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x3838f12e
jmp 0x411ad3
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
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, 0x1f8a4356
mov ecx, 0x33ff8572
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
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 ecx, dword [0x43c5a4]
mov eax, dword [0x43c5a0]
mov edx, ecx
sub edx, 0xfd4cd86
sub edx, 1
add edx, 0xfd4cd86
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, 0x1f8a4356
mov ecx, 0x1f66ca5e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x83dfd012
jmp 0x411ad3
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 dword [ebp - 0x9c], 0x48597426
jmp 0x411ad3
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
sub ecx, 0xaade7c0f
add ecx, eax
add ecx, 0xaade7c0f
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x9c], 0xbace62f6
jmp 0x411ad3
mov ecx, dword [0x43c5a4]
mov eax, dword [0x43c5a0]
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, 0x1385c239
mov ecx, 0x966c2e18
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x43c5a4]
mov eax, dword [0x43c5a0]
mov edx, ecx
add edx, 0x1102fdac
sub edx, 1
sub edx, 0x1102fdac
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, 0x1385c239
mov ecx, 0x85a56b77
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0xe085a182
jmp 0x411ad3
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0x9c], 0x1c0fea02
jmp 0x411ad3
mov dl, byte [ebp - 0x31]
mov eax, 0xa609abd
mov ecx, 0x38983186
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 0xe8ab98b9
add eax, 0x18
sub eax, 0xe8ab98b9
mov ecx, dword [ebp - 0x6c]
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 - 0x9c], 0x2748e9c8
jmp 0x411ad3
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul edx, eax, 0x28
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], 0x433ff7
call fcn.004282c0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x9c], 0x1b46a4e2
jmp 0x411ad3
mov dl, byte [ebp - 0x29]
mov eax, 0xb5c13ea9
mov ecx, 0xd1129b15
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
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 esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
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 ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
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 - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
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.00424b10
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x9c], 0xf85339d4
jmp 0x411ad3
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x9c], 0x8e559e2a
jmp 0x411ad3
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
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], 0xd1129b15
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x1d2b3eaf
jmp 0x411ad3
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov dword [ebp - 0x9c], 0x6d36ef41
jmp 0x411ad3
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x12], ax
mov dword [ebp - 0x9c], 0x56807de8
jmp 0x411ad3
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x9c], 0xbace62f6
jmp 0x411ad3
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
sub edx, 0x1ccbefe2
sub edx, 1
add edx, 0x1ccbefe2
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, 0x7c25d08b
mov ecx, 0x73643d87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [0x43c5a4]
mov ecx, dword [0x43c5a0]
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, 0x7c25d08b
mov ecx, 0x5d2d2e5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x3693ab97
jmp 0x411ad3
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x344e134a
jmp 0x411ad3
mov ecx, dword [0x43c5a4]
mov eax, dword [0x43c5a0]
mov edx, ecx
sub edx, 0x49c4b8ba
sub edx, 1
add edx, 0x49c4b8ba
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, 0x6e7195fb
mov ecx, 0x240adeab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
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 [0x43c5a4]
mov ecx, dword [0x43c5a0]
mov edx, eax
sub edx, 0xc89586ad
sub edx, 1
add edx, 0xc89586ad
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, 0x6e7195fb
mov ecx, 0x5849003e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x3838f12e
jmp 0x411ad3
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423cc0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x9c], 0xdd3ef3b
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x50f4d7cc
jmp 0x411ad3
mov dword [ebp - 0x9c], 0x8ba8c307
jmp 0x411ad3
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x9c], 0x79963e51
jmp 0x411ad3
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 dword [ebp - 0x9c], 0x33ff8572
jmp 0x411ad3
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x9c], 0x966c2e18
jmp 0x411ad3
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x9c], 0x73643d87
jmp 0x411ad3
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], 0x240adeab
jmp 0x4108af