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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x19c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a4], eax
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1a0], 0xa9d250f0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
sub eax, 0x81300e04
je 0x406ed2
jmp 0x4062c5
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8213c6cb
je 0x406eb1
jmp 0x4062db
mov eax, dword [ebp - 0x1a8]
sub eax, 0x84e3f224
je 0x4069ad
jmp 0x4062f1
mov eax, dword [ebp - 0x1a8]
sub eax, 0x955a3a90
je 0x4077e2
jmp 0x406307
mov eax, dword [ebp - 0x1a8]
sub eax, 0x99d571fa
je 0x407c4c
jmp 0x40631d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9d882729
je 0x407286
jmp 0x406333
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa0d44f68
je 0x407080
jmp 0x406349
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa163fa77
je 0x4076f6
jmp 0x40635f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa1dfca03
je 0x406f98
jmp 0x406375
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa40d4743
je 0x406db6
jmp 0x40638b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa43bb5ca
je 0x407c7f
jmp 0x4063a1
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa895c746
je 0x407bd6
jmp 0x4063b7
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa9d250f0
je 0x4068e4
jmp 0x4063cd
mov eax, dword [ebp - 0x1a8]
sub eax, 0xaeef556a
je 0x407110
jmp 0x4063e3
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb5f1263a
je 0x406941
jmp 0x4063f9
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb9f70c41
je 0x4078eb
jmp 0x40640f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbc1afde0
je 0x407717
jmp 0x406425
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc3e025a3
je 0x407aa6
jmp 0x40643b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc5c2e352
je 0x4077f1
jmp 0x406451
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcbc555f0
je 0x407380
jmp 0x406467
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd40f62f8
je 0x406e4d
jmp 0x40647d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd7093b07
je 0x4076e7
jmp 0x406493
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd7495b85
je 0x4079e9
jmp 0x4064a9
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd7fc61f5
je 0x407667
jmp 0x4064bf
mov eax, dword [ebp - 0x1a8]
sub eax, 0xda43ae4a
je 0x406ce3
jmp 0x4064d5
mov eax, dword [ebp - 0x1a8]
sub eax, 0xdce6a30e
je 0x407191
jmp 0x4064eb
mov eax, dword [ebp - 0x1a8]
sub eax, 0xdf0a2e49
je 0x407140
jmp 0x406501
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe2f07799
je 0x407ad5
jmp 0x406517
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe66502dc
je 0x406b8f
jmp 0x40652d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe98695e3
je 0x4069f6
jmp 0x406543
mov eax, dword [ebp - 0x1a8]
sub eax, 0xea631311
je 0x407b45
jmp 0x406559
mov eax, dword [ebp - 0x1a8]
sub eax, 0xeb204395
je 0x406f2a
jmp 0x40656f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xed4cc93a
je 0x40723d
jmp 0x406585
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf327548e
je 0x406acc
jmp 0x40659b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf715c62a
je 0x406baa
jmp 0x4065b1
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf8961112
je 0x406cd4
jmp 0x4065c7
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfad29875
je 0x4076b5
jmp 0x4065dd
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd479e6
je 0x407961
jmp 0x4065f3
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1ee554f
je 0x407b18
jmp 0x406609
mov eax, dword [ebp - 0x1a8]
sub eax, 0x33a2267
je 0x406d2c
jmp 0x40661f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x5421a33
je 0x40732f
jmp 0x406635
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9ed7699
je 0x407592
jmp 0x40664b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe501328
je 0x407a82
jmp 0x406661
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1647abda
je 0x40745e
jmp 0x406677
mov eax, dword [ebp - 0x1a8]
sub eax, 0x171c8b9d
je 0x4070e2
jmp 0x40668d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x18676856
je 0x406dd7
jmp 0x4066a3
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1867a015
je 0x407020
jmp 0x4066b9
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1f7a7f0e
je 0x407867
jmp 0x4066cf
mov eax, dword [ebp - 0x1a8]
sub eax, 0x20a894e6
je 0x4071ff
jmp 0x4066e5
mov eax, dword [ebp - 0x1a8]
sub eax, 0x224b46be
je 0x407583
jmp 0x4066fb
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2a5b2e79
je 0x406abd
jmp 0x406711
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2c86afc4
je 0x407a31
jmp 0x406727
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2d9f05aa
je 0x4078dc
jmp 0x40673d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2dea718b
je 0x407320
jmp 0x406753
mov eax, dword [ebp - 0x1a8]
sub eax, 0x32346d53
je 0x40743d
jmp 0x406769
mov eax, dword [ebp - 0x1a8]
sub eax, 0x33b06d27
je 0x407a97
jmp 0x40677f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x35c7f4a3
je 0x406c18
jmp 0x406795
mov eax, dword [ebp - 0x1a8]
sub eax, 0x3954c486
je 0x4079d7
jmp 0x4067ab
mov eax, dword [ebp - 0x1a8]
sub eax, 0x41b8bf9b
je 0x40699e
jmp 0x4067c1
mov eax, dword [ebp - 0x1a8]
sub eax, 0x47503e83
je 0x4074a7
jmp 0x4067d7
mov eax, dword [ebp - 0x1a8]
sub eax, 0x48a8502b
je 0x407c3d
jmp 0x4067ed
mov eax, dword [ebp - 0x1a8]
sub eax, 0x4c1a890c
je 0x407220
jmp 0x406803
mov eax, dword [ebp - 0x1a8]
sub eax, 0x50232091
je 0x4070f1
jmp 0x406819
mov eax, dword [ebp - 0x1a8]
sub eax, 0x50f2ed8e
je 0x407785
jmp 0x40682f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x54ddb302
je 0x406b80
mov eax, dword [ebp - 0x1a4]
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x184], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1a0], 0xb5f1263a
jmp 0x407c89
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004225d0
add esp, 0xc
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x18c], eax
mov eax, 0x41b8bf9b
mov ecx, 0x84e3f224
cmp dword [ebp - 0x18c], 0
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xb9f70c41
jmp 0x407c89
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0xd7495b85
mov ecx, 0xe98695e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x120]
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 - 0x120]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x164], eax
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
sub edx, 0x4a7cf6e9
sub edx, 1
add edx, 0x4a7cf6e9
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, 0xd7495b85
mov ecx, 0x2a5b2e79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xf327548e
jmp 0x407c89
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x164]
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 - 0x114]
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 - 0x194], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x194], eax
sete al
and al, 1
mov byte [ebp - 0x15d], al
mov dword [ebp - 0x1a0], 0x55b78b77
jmp 0x407c89
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1a0], 0xf715c62a
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x2c86afc4
mov ecx, 0x35c7f4a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x15c]
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 - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x158], eax
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x2c86afc4
mov ecx, 0xf8961112
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xda43ae4a
jmp 0x407c89
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0xe501328
mov ecx, 0x33a2267
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x158]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x151], al
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
add edx, 0x390ab92e
sub edx, 1
sub edx, 0x390ab92e
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, 0xe501328
mov ecx, 0xa40d4743
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dl, byte [ebp - 0x151]
mov eax, 0x18676856
mov ecx, 0x6904514f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
add edx, 0xa3e44dc0
sub edx, 1
sub edx, 0xa3e44dc0
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, 0x33b06d27
mov ecx, 0xd40f62f8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x150], eax
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0x33b06d27
mov ecx, 0x74989b30
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x150]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0x81300e04
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xb9f70c41
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0xc3e025a3
mov ecx, 0xa1dfca03
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x180]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x148], eax
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0xfecb5b9c
sub edx, 1
sub edx, 0xfecb5b9c
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, 0xc3e025a3
mov ecx, 0x1867a015
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0x6058dd47
jmp 0x407c89
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov word [eax], 0
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0xe2f07799
mov ecx, 0x171c8b9d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0x50232091
jmp 0x407c89
mov eax, dword [ebp - 0x178]
mov ax, word [eax]
mov word [ebp - 0x142], ax
mov dword [ebp - 0x1a0], 0xaeef556a
jmp 0x407c89
mov ax, word [ebp - 0x142]
movzx eax, ax
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x1a0], 0xdf0a2e49
jmp 0x407c89
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
sub edx, 0x225a1e6d
sub edx, 1
add edx, 0x225a1e6d
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, 0x7f88c7e5
mov ecx, 0xdce6a30e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x13c]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x140]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x135], al
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0x34ec8f99
sub edx, 1
sub edx, 0x34ec8f99
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, 0x7f88c7e5
mov ecx, 0x20a894e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dl, byte [ebp - 0x135]
mov eax, 0xa163fa77
mov ecx, 0x4c1a890c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1a0], 0xed4cc93a
jmp 0x407c89
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0x1ee554f
mov ecx, 0x9d882729
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x134]
add eax, 0xbc66b0d3
add eax, 0x18
sub eax, 0xbc66b0d3
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov ax, word [eax + 0x14]
mov word [ebp - 0x12c], ax
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x1ee554f
mov ecx, 0x2dea718b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0x5421a33
jmp 0x407c89
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0x73008809
sub edx, 1
sub edx, 0x73008809
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, 0xea631311
mov ecx, 0xcbc555f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov ax, word [ebp - 0x12c]
movzx edx, ax
mov ecx, dword [ebp - 0x130]
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 - 0x178]
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 - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43156b
call fcn.00425ed0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x129], al
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0xa13de95f
sub edx, 1
sub edx, 0xa13de95f
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, 0xea631311
mov ecx, 0x32346d53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dl, byte [ebp - 0x129]
mov eax, 0x1647abda
mov ecx, 0x62b3455f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0xa895c746
mov ecx, 0x47503e83
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x170]
mov dword [eax], 0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xc4c67714
add edx, eax
add edx, 0xc4c67714
mov eax, dword [ebp - 0x170]
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 al
and al, 1
mov byte [ebp - 0x128], al
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
add edx, 0xe082e88c
sub edx, 1
sub edx, 0xe082e88c
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, 0xa895c746
mov ecx, 0x224b46be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0x9ed7699
jmp 0x407c89
mov cl, byte [ebp - 0x128]
and cl, 1
mov eax, dword [ebp - 0x16c]
mov byte [eax], cl
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x4a34a69c
add edx, eax
sub edx, 0x4a34a69c
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x174]
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.00422730
add esp, 0xc
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x170]
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 al
and al, 1
mov byte [ebp - 0x127], al
mov dword [ebp - 0x1a0], 0xd7fc61f5
jmp 0x407c89
mov cl, byte [ebp - 0x127]
and cl, 1
mov eax, dword [ebp - 0x16c]
mov byte [eax], cl
mov dword [ebp - 0x1a0], 0x62b3455f
jmp 0x407c89
mov cx, word [ebp - 0x126]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x178]
mov word [eax], cx
mov dword [ebp - 0x1a0], 0xd7093b07
jmp 0x407c89
mov dword [ebp - 0x1a0], 0x50232091
jmp 0x407c89
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xbc1afde0
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x48a8502b
mov ecx, 0x50f2ed8e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x124], eax
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0x7896d046
sub edx, 1
sub edx, 0x7896d046
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, 0x48a8502b
mov ecx, 0x955a3a90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xc5c2e352
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
add edx, 0xe192149e
sub edx, 1
sub edx, 0xe192149e
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, 0x99d571fa
mov ecx, 0x1f7a7f0e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
sub edx, 0x904977d0
sub edx, 1
add edx, 0x904977d0
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, 0x99d571fa
mov ecx, 0x2d9f05aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xb9f70c41
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
add edx, 0x6ad51e3c
sub edx, 1
sub edx, 0x6ad51e3c
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, 0xa43bb5ca
mov ecx, 0xd479e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
sub edx, 0x49c148fa
sub edx, 1
add edx, 0x49c148fa
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, 0xa43bb5ca
mov ecx, 0x3954c486
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x407c89
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004218e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x120]
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 - 0x120]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x1a0], 0xe98695e3
jmp 0x407c89
mov eax, dword [ebp - 0x15c]
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 - 0x198], eax
mov dword [ebp - 0x1a0], 0x35c7f4a3
jmp 0x407c89
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1a0], 0x33a2267
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xd40f62f8
jmp 0x407c89
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1a0], 0xa1dfca03
jmp 0x407c89
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov word [eax], 0
mov dword [ebp - 0x1a0], 0xa0d44f68
jmp 0x407c89
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x1a0], 0x9d882729
jmp 0x407c89
mov ax, word [ebp - 0x12c]
movzx edx, ax
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
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 - 0x178]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xe75ca2c0
add ecx, eax
sub ecx, 0xe75ca2c0
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43156b
call fcn.00425ed0
add esp, 8
mov dword [ebp - 0x1a0], 0xcbc555f0
jmp 0x407c89
mov eax, dword [ebp - 0x170]
mov dword [eax], 0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xde6bbbdd
add edx, eax
add edx, 0xde6bbbdd
mov eax, dword [ebp - 0x170]
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]
mov dword [ebp - 0x1a0], 0x47503e83
jmp 0x407c89
mov dword [ebp - 0x1a0], 0x50f2ed8e
jmp 0x407c89
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0x1f7a7f0e
jmp 0x407c89
mov dword [ebp - 0x1a0], 0xd479e6
jmp 0x4062a9