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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xb8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xbc], eax
mov eax, dword [0x1006fa04]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
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 - 0xb2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xb1], al
mov dword [ebp - 0xb8], 0x3f473768
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc0], eax
sub eax, 0x80d6da74
je 0x100040de
jmp 0x1000170b
mov eax, dword [ebp - 0xc0]
sub eax, 0x8479f156
je 0x1000486d
jmp 0x10001721
mov eax, dword [ebp - 0xc0]
sub eax, 0x8659f81b
je 0x1000421e
jmp 0x10001737
mov eax, dword [ebp - 0xc0]
sub eax, 0x880a5fce
je 0x10002a51
jmp 0x1000174d
mov eax, dword [ebp - 0xc0]
sub eax, 0x891f6fda
je 0x10004294
jmp 0x10001763
mov eax, dword [ebp - 0xc0]
sub eax, 0x89453d68
je 0x100035c0
jmp 0x10001779
mov eax, dword [ebp - 0xc0]
sub eax, 0x8af6d8d9
je 0x10003dbc
jmp 0x1000178f
mov eax, dword [ebp - 0xc0]
sub eax, 0x8b29b3eb
je 0x1000337f
jmp 0x100017a5
mov eax, dword [ebp - 0xc0]
sub eax, 0x8d993936
je 0x10003a1b
jmp 0x100017bb
mov eax, dword [ebp - 0xc0]
sub eax, 0x914f1455
je 0x100041f1
jmp 0x100017d1
mov eax, dword [ebp - 0xc0]
sub eax, 0x93ff6db6
je 0x10002f72
jmp 0x100017e7
mov eax, dword [ebp - 0xc0]
sub eax, 0x94dca8b6
je 0x10004686
jmp 0x100017fd
mov eax, dword [ebp - 0xc0]
sub eax, 0x95235763
je 0x10002d12
jmp 0x10001813
mov eax, dword [ebp - 0xc0]
sub eax, 0x955e350c
je 0x1000356f
jmp 0x10001829
mov eax, dword [ebp - 0xc0]
sub eax, 0x99787135
je 0x100028be
jmp 0x1000183f
mov eax, dword [ebp - 0xc0]
sub eax, 0x9b311d44
je 0x10002efc
jmp 0x10001855
mov eax, dword [ebp - 0xc0]
sub eax, 0x9e854e59
je 0x100034e0
jmp 0x1000186b
mov eax, dword [ebp - 0xc0]
sub eax, 0xa1df958c
je 0x10003862
jmp 0x10001881
mov eax, dword [ebp - 0xc0]
sub eax, 0xa4adf3ed
je 0x10003d6b
jmp 0x10001897
mov eax, dword [ebp - 0xc0]
sub eax, 0xa545ea8b
je 0x10004637
jmp 0x100018ad
mov eax, dword [ebp - 0xc0]
sub eax, 0xa5ef7ed7
je 0x100037be
jmp 0x100018c3
mov eax, dword [ebp - 0xc0]
sub eax, 0xa6526828
je 0x10003a2a
jmp 0x100018d9
mov eax, dword [ebp - 0xc0]
sub eax, 0xa77ad5aa
je 0x10003c32
jmp 0x100018ef
mov eax, dword [ebp - 0xc0]
sub eax, 0xa79ef2da
je 0x10003ca0
jmp 0x10001905
mov eax, dword [ebp - 0xc0]
sub eax, 0xa9825f35
je 0x1000286f
jmp 0x1000191b
mov eax, dword [ebp - 0xc0]
sub eax, 0xabf0860d
je 0x100045a9
jmp 0x10001931
mov eax, dword [ebp - 0xc0]
sub eax, 0xadacf489
je 0x10002742
jmp 0x10001947
mov eax, dword [ebp - 0xc0]
sub eax, 0xae174bcd
je 0x10002aa2
jmp 0x1000195d
mov eax, dword [ebp - 0xc0]
sub eax, 0xb10c6adc
je 0x10004695
jmp 0x10001973
mov eax, dword [ebp - 0xc0]
sub eax, 0xb1aa5f95
je 0x100046a4
jmp 0x10001989
mov eax, dword [ebp - 0xc0]
sub eax, 0xb54eacbd
je 0x10004325
jmp 0x1000199f
mov eax, dword [ebp - 0xc0]
sub eax, 0xb82e65f3
je 0x10003765
jmp 0x100019b5
mov eax, dword [ebp - 0xc0]
sub eax, 0xb87ce4da
je 0x10003dcb
jmp 0x100019cb
mov eax, dword [ebp - 0xc0]
sub eax, 0xba5e59c3
je 0x10003202
jmp 0x100019e1
mov eax, dword [ebp - 0xc0]
sub eax, 0xbc39c107
je 0x10004666
jmp 0x100019f7
mov eax, dword [ebp - 0xc0]
sub eax, 0xbde7860a
je 0x10003100
jmp 0x10001a0d
mov eax, dword [ebp - 0xc0]
sub eax, 0xbdf7b3a1
je 0x10004200
jmp 0x10001a23
mov eax, dword [ebp - 0xc0]
sub eax, 0xbef13cea
je 0x100031b1
jmp 0x10001a39
mov eax, dword [ebp - 0xc0]
sub eax, 0xc127e422
je 0x10004836
jmp 0x10001a4f
mov eax, dword [ebp - 0xc0]
sub eax, 0xc18e687d
je 0x10003b41
jmp 0x10001a65
mov eax, dword [ebp - 0xc0]
sub eax, 0xc3295bb5
je 0x100041e0
jmp 0x10001a7b
mov eax, dword [ebp - 0xc0]
sub eax, 0xc5ac9b0d
je 0x1000459a
jmp 0x10001a91
mov eax, dword [ebp - 0xc0]
sub eax, 0xc6f824f1
je 0x100046f6
jmp 0x10001aa7
mov eax, dword [ebp - 0xc0]
sub eax, 0xc793245e
je 0x10003160
jmp 0x10001abd
mov eax, dword [ebp - 0xc0]
sub eax, 0xc7ce0804
je 0x1000281d
jmp 0x10001ad3
mov eax, dword [ebp - 0xc0]
sub eax, 0xc7ee6f36
je 0x1000420f
jmp 0x10001ae9
mov eax, dword [ebp - 0xc0]
sub eax, 0xc83f4f85
je 0x1000235d
jmp 0x10001aff
mov eax, dword [ebp - 0xc0]
sub eax, 0xcad1ecb4
je 0x1000269f
jmp 0x10001b15
mov eax, dword [ebp - 0xc0]
sub eax, 0xce4b8be4
je 0x1000488b
jmp 0x10001b2b
mov eax, dword [ebp - 0xc0]
sub eax, 0xce626a57
je 0x10003e1c
jmp 0x10001b41
mov eax, dword [ebp - 0xc0]
sub eax, 0xd3eec7bd
je 0x10004742
jmp 0x10001b57
mov eax, dword [ebp - 0xc0]
sub eax, 0xd598db1c
je 0x10002b8e
jmp 0x10001b6d
mov eax, dword [ebp - 0xc0]
sub eax, 0xd69f37dd
je 0x10002577
jmp 0x10001b83
mov eax, dword [ebp - 0xc0]
sub eax, 0xd7c04dcf
je 0x10003d22
jmp 0x10001b99
mov eax, dword [ebp - 0xc0]
sub eax, 0xd88f9f85
je 0x10002793
jmp 0x10001baf
mov eax, dword [ebp - 0xc0]
sub eax, 0xdbe6b604
je 0x1000284a
jmp 0x10001bc5
mov eax, dword [ebp - 0xc0]
sub eax, 0xde4a1754
je 0x10002a33
jmp 0x10001bdb
mov eax, dword [ebp - 0xc0]
sub eax, 0xdfde386e
je 0x1000310f
jmp 0x10001bf1
mov eax, dword [ebp - 0xc0]
sub eax, 0xe2ca9b70
je 0x10002d6a
jmp 0x10001c07
mov eax, dword [ebp - 0xc0]
sub eax, 0xe4788088
je 0x100045be
jmp 0x10001c1d
mov eax, dword [ebp - 0xc0]
sub eax, 0xe5000469
je 0x10003f03
jmp 0x10001c33
mov eax, dword [ebp - 0xc0]
sub eax, 0xe612416a
je 0x10002d03
jmp 0x10001c49
mov eax, dword [ebp - 0xc0]
sub eax, 0xe66cd1e4
je 0x100044ac
jmp 0x10001c5f
mov eax, dword [ebp - 0xc0]
sub eax, 0xe676ef08
je 0x100038d8
jmp 0x10001c75
mov eax, dword [ebp - 0xc0]
sub eax, 0xed903e5f
je 0x10004803
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0x8f91947b
sub edx, 1
sub edx, 0x8f91947b
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, 0x35c7a92d
mov ecx, 0xf71b2c91
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
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, 0xa545ea8b
mov ecx, 0x43c6a633
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [ebp - 0xbc]
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
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
mov eax, dword [ebp - 0xb0]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10012200
add esp, 0xc
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xb8], 0x444573d3
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0xa22c4f01
sub edx, 1
sub edx, 0xa22c4f01
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, 0x429786ae
mov ecx, 0xd88f9f85
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa4]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x69], al
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
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, 0x429786ae
mov ecx, 0xc7ce0804
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dl, byte [ebp - 0x69]
mov eax, 0x38f6bce1
mov ecx, 0xdbe6b604
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xb8], 0xa9825f35
jmp 0x10004905
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
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 - 0xa8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xb8], 0x99787135
jmp 0x10004905
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xb8], 0x283493aa
jmp 0x10004905
mov dl, byte [ebp - 0x51]
mov eax, 0x6d3652e7
mov ecx, 0x880a5fce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0x874930ec
sub edx, 1
sub edx, 0x874930ec
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, 0x94dca8b6
mov ecx, 0xae174bcd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0x21296d5
sub edx, 1
sub edx, 0x21296d5
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, 0x94dca8b6
mov ecx, 0x7f761ff4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0xcf5449e
sub edx, 1
sub edx, 0xcf5449e
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, 0xc7ee6f36
mov ecx, 0x62c7a68c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dword [ebp - 0xb8], 0x95235763
jmp 0x10004905
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ebp - 0xb8], 0x1fb210c5
jmp 0x10004905
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xb8], 0x67cc565f
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0x90f1e1eb
sub edx, 1
sub edx, 0x90f1e1eb
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, 0xb10c6adc
mov ecx, 0x93ff6db6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dword [ebp - 0xb8], 0xc3295bb5
jmp 0x10004905
mov dword [ebp - 0xb8], 0xdfde386e
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0xe8a2cf25
sub edx, 1
sub edx, 0xe8a2cf25
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, 0x99fac62
mov ecx, 0xc793245e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0x6681c540
sub edx, 1
sub edx, 0x6681c540
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, 0x99fac62
mov ecx, 0xbef13cea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
sub edx, 0xef14585
sub edx, 1
add edx, 0xef14585
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, 0x1ca1fe62
mov ecx, 0xba5e59c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
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, 0x1ca1fe62
mov ecx, 0x6017b64e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0x69d06e5f
sub edx, 1
sub edx, 0x69d06e5f
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, 0x422a7e25
mov ecx, 0x17afee65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ax, word [ebp - 0x3e]
movzx eax, ax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0xdc4335dc
sub edx, 1
sub edx, 0xdc4335dc
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, 0xf7c0cb04
mov ecx, 0x955e350c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0xab7f1ec
sub edx, 1
sub edx, 0xab7f1ec
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, 0xe66cd1e4
mov ecx, 0x89453d68
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dword [ebp - 0xb8], 0x4952e25
jmp 0x10004905
mov dl, byte [ebp - 0x31]
mov eax, 0xb87ce4da
mov ecx, 0x247eb2a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ax, word [ebp - 0x2a]
movzx edx, ax
mov ecx, dword [ebp - 0x30]
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 - 0x84]
movzx eax, word [eax]
imul edx, eax, 0x28
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xb8], 0x2a61d5
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0x7ee95683
sub edx, 1
sub edx, 0x7ee95683
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, 0xd3eec7bd
mov ecx, 0xe676ef08
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov byte [eax], cl
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x6e73348f
add ecx, eax
sub ecx, 0x6e73348f
mov eax, dword [ebp - 0x80]
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.10012360
add esp, 0xc
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x802d4ea0
add eax, ecx
add eax, 0x802d4ea0
mov dword [ebp - 0x18], eax
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0xe4810160
sub edx, 1
sub edx, 0xe4810160
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, 0xd3eec7bd
mov ecx, 0x8d993936
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dword [ebp - 0xb8], 0xa6526828
jmp 0x10004905
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x20]
mov edx, 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 - 0x78]
mov byte [eax], cl
mov dword [ebp - 0xb8], 0x7c8e49c5
jmp 0x10004905
mov eax, dword [ebp - 0x84]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0xfe1baef2
sub edx, 1
sub edx, 0xfe1baef2
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, 0xed903e5f
mov ecx, 0x35595217
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
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, 0x3b665a30
mov ecx, 0xa79ef2da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
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, 0x3b665a30
mov ecx, 0x136b42e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
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, 0xf9884398
mov ecx, 0xa4adf3ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0x64536758
sub edx, 1
sub edx, 0x64536758
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, 0xf9884398
mov ecx, 0x8af6d8d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dword [ebp - 0xb8], 0x2fcd5725
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
sub edx, 0x62e14c9a
sub edx, 1
add edx, 0x62e14c9a
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, 0x5a80fe19
mov ecx, 0xce626a57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
sub edx, 0xa7a3f717
sub edx, 1
add edx, 0xa7a3f717
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, 0xc127e422
mov ecx, 0x4d70dab3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
sub edx, 0x6211c36
sub edx, 1
add edx, 0x6211c36
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, 0x5a80fe19
mov ecx, 0x66c6579e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
sub edx, 0x9342e31
sub edx, 1
add edx, 0x9342e31
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, 0x1000bae0
mov ecx, 0x3f951b4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.100115d0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xb8], 0xc83f4f85
jmp 0x10004905
mov dword [ebp - 0xb8], 0xd69f37dd
jmp 0x10004905
mov dword [ebp - 0xb8], 0xd598db1c
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0x59607032
sub edx, 1
sub edx, 0x59607032
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, 0xce4b8be4
mov ecx, 0x891f6fda
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [ebp - 0x50]
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 eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
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, 0xce4b8be4
mov ecx, 0xcbee6eb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov eax, dword [0x10070ca8]
mov ecx, dword [0x10070ca4]
mov edx, eax
add edx, 0xe183864e
sub edx, 1
sub edx, 0xe183864e
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, 0x747469a4
mov ecx, 0x6270bcc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov ecx, dword [0x10070ca8]
mov eax, dword [0x10070ca4]
mov edx, ecx
add edx, 0xffc8d74c
sub edx, 1
sub edx, 0xffc8d74c
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, 0x68c10b8f
mov ecx, 0x115dbdd2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb8], eax
jmp 0x10004905
mov dword [ebp - 0xb8], 0xf8ff6977
jmp 0x10004905
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xb8], 0x261deb15
jmp 0x10004905
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xb8], 0x1e149850
jmp 0x10004905
mov dword [ebp - 0xb8], 0x43c6a633
jmp 0x10004905
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb8], 0x5ac6ec6f
jmp 0x10004905
mov dword [ebp - 0xb8], 0xae174bcd
jmp 0x10004905
mov dword [ebp - 0xb8], 0x9b311d44
jmp 0x10004905
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0xe1743e8
add ecx, eax
sub ecx, 0xe1743e8
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov word [eax], 0
mov dword [ebp - 0xb8], 0x54aacba
jmp 0x10004905
mov dword [ebp - 0xb8], 0xf1c599e9
jmp 0x10004905
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xa2b5e3ca
add edx, eax
sub edx, 0xa2b5e3ca
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov byte [eax], cl
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x80d80753
add edx, eax
add edx, 0x80d80753
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x80]
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.10012360
add esp, 0xc
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xb8], 0xe676ef08
jmp 0x10004905
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb8], 0x4d70dab3
jmp 0x10004905
mov dword [ebp - 0xb8], 0x5ff4f931
jmp 0x10004905
mov eax, dword [ebp - 0x50]
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 - 0xb8], 0x891f6fda
jmp 0x10004905
jmp 0x100016ef