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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
add edx, 0x2c492e5c
sub edx, 1
sub edx, 0x2c492e5c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x90], 0xe8a2df61
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x8194bd4a
je 0x409be8
jmp 0x4081b3
mov eax, dword [ebp - 0x98]
sub eax, 0x82601b7f
je 0x4093c8
jmp 0x4081c9
mov eax, dword [ebp - 0x98]
sub eax, 0x8c99617a
je 0x408b2f
jmp 0x4081df
mov eax, dword [ebp - 0x98]
sub eax, 0x95618432
je 0x40987e
jmp 0x4081f5
mov eax, dword [ebp - 0x98]
sub eax, 0x96770121
je 0x408f37
jmp 0x40820b
mov eax, dword [ebp - 0x98]
sub eax, 0x977e123e
je 0x408c61
jmp 0x408221
mov eax, dword [ebp - 0x98]
sub eax, 0x978bef81
je 0x40999f
jmp 0x408237
mov eax, dword [ebp - 0x98]
sub eax, 0xa2838d51
je 0x409c21
jmp 0x40824d
mov eax, dword [ebp - 0x98]
sub eax, 0xa2b644ba
je 0x408950
jmp 0x408263
mov eax, dword [ebp - 0x98]
sub eax, 0xa42e6c57
je 0x408eb3
jmp 0x408279
mov eax, dword [ebp - 0x98]
sub eax, 0xa6b41715
je 0x409c12
jmp 0x40828f
mov eax, dword [ebp - 0x98]
sub eax, 0xa6d88d86
je 0x408f55
jmp 0x4082a5
mov eax, dword [ebp - 0x98]
sub eax, 0xb4f4e6aa
je 0x408bee
jmp 0x4082bb
mov eax, dword [ebp - 0x98]
sub eax, 0xbb35156d
je 0x4092c4
jmp 0x4082d1
mov eax, dword [ebp - 0x98]
sub eax, 0xbbf75fcc
je 0x4095c0
jmp 0x4082e7
mov eax, dword [ebp - 0x98]
sub eax, 0xbcc25c5c
je 0x409abf
jmp 0x4082fd
mov eax, dword [ebp - 0x98]
sub eax, 0xbf5c4ca8
je 0x408ba5
jmp 0x408313
mov eax, dword [ebp - 0x98]
sub eax, 0xbf797978
je 0x40927b
jmp 0x408329
mov eax, dword [ebp - 0x98]
sub eax, 0xc61d826a
je 0x4097ac
jmp 0x40833f
mov eax, dword [ebp - 0x98]
sub eax, 0xc8b480bb
je 0x409b79
jmp 0x408355
mov eax, dword [ebp - 0x98]
sub eax, 0xcbc25cc8
je 0x408dd5
jmp 0x40836b
mov eax, dword [ebp - 0x98]
sub eax, 0xcbdf125a
je 0x40988d
jmp 0x408381
mov eax, dword [ebp - 0x98]
sub eax, 0xcc4acbab
je 0x409990
jmp 0x408397
mov eax, dword [ebp - 0x98]
sub eax, 0xce19f7ee
je 0x409521
jmp 0x4083ad
mov eax, dword [ebp - 0x98]
sub eax, 0xcf2fd485
je 0x409ae2
jmp 0x4083c3
mov eax, dword [ebp - 0x98]
sub eax, 0xd596b6b4
je 0x409bbb
jmp 0x4083d9
mov eax, dword [ebp - 0x98]
sub eax, 0xd7bb7c19
je 0x408cb8
jmp 0x4083ef
mov eax, dword [ebp - 0x98]
sub eax, 0xd806911e
je 0x409bd9
jmp 0x408405
mov eax, dword [ebp - 0x98]
sub eax, 0xdf8354eb
je 0x409c8f
jmp 0x40841b
mov eax, dword [ebp - 0x98]
sub eax, 0xe0456864
je 0x408dc6
jmp 0x408431
mov eax, dword [ebp - 0x98]
sub eax, 0xe1a6cc90
je 0x409503
jmp 0x408447
mov eax, dword [ebp - 0x98]
sub eax, 0xe2a96ded
je 0x40935a
jmp 0x40845d
mov eax, dword [ebp - 0x98]
sub eax, 0xe48fce7c
je 0x409538
jmp 0x408473
mov eax, dword [ebp - 0x98]
sub eax, 0xe5829341
je 0x409af3
jmp 0x408489
mov eax, dword [ebp - 0x98]
sub eax, 0xe5e18cc8
je 0x4090f9
jmp 0x40849f
mov eax, dword [ebp - 0x98]
sub eax, 0xe8a2df61
je 0x40886c
jmp 0x4084b5
mov eax, dword [ebp - 0x98]
sub eax, 0xea720bd7
je 0x409033
jmp 0x4084cb
mov eax, dword [ebp - 0x98]
sub eax, 0xed7e7dfe
je 0x409176
jmp 0x4084e1
mov eax, dword [ebp - 0x98]
sub eax, 0xf66bd4b4
je 0x408bfd
jmp 0x4084f7
mov eax, dword [ebp - 0x98]
sub eax, 0xf9a0ab3e
je 0x409452
jmp 0x40850d
mov eax, dword [ebp - 0x98]
sub eax, 0x147a7f5
je 0x408e3d
jmp 0x408523
mov eax, dword [ebp - 0x98]
sub eax, 0x1fbe8a2
je 0x408d50
jmp 0x408539
mov eax, dword [ebp - 0x98]
sub eax, 0x77c8f83
je 0x40989c
jmp 0x40854f
mov eax, dword [ebp - 0x98]
sub eax, 0x7f364d4
je 0x40992b
jmp 0x408565
mov eax, dword [ebp - 0x98]
sub eax, 0x1025b14c
je 0x409a7f
jmp 0x40857b
mov eax, dword [ebp - 0x98]
sub eax, 0x1040cbf8
je 0x409b97
jmp 0x408591
mov eax, dword [ebp - 0x98]
sub eax, 0x16d398cf
je 0x4088c0
jmp 0x4085a7
mov eax, dword [ebp - 0x98]
sub eax, 0x1aa57e2c
je 0x409822
jmp 0x4085bd
mov eax, dword [ebp - 0x98]
sub eax, 0x1f52cde6
je 0x409611
jmp 0x4085d3
mov eax, dword [ebp - 0x98]
sub eax, 0x21c5c208
je 0x4094b2
jmp 0x4085e9
mov eax, dword [ebp - 0x98]
sub eax, 0x26b943a2
je 0x4090a1
jmp 0x4085ff
mov eax, dword [ebp - 0x98]
sub eax, 0x28395714
je 0x409229
jmp 0x408615
mov eax, dword [ebp - 0x98]
sub eax, 0x28e3f956
je 0x409b88
jmp 0x40862b
mov eax, dword [ebp - 0x98]
sub eax, 0x2a6d3720
je 0x409024
jmp 0x408641
mov eax, dword [ebp - 0x98]
sub eax, 0x2c3cb310
je 0x4091d6
jmp 0x408657
mov eax, dword [ebp - 0x98]
sub eax, 0x2c9a2195
je 0x408b02
jmp 0x40866d
mov eax, dword [ebp - 0x98]
sub eax, 0x2d3bed23
je 0x40934b
jmp 0x408683
mov eax, dword [ebp - 0x98]
sub eax, 0x32c23327
je 0x4091c7
jmp 0x408699
mov eax, dword [ebp - 0x98]
sub eax, 0x32ef9602
je 0x409569
jmp 0x4086af
mov eax, dword [ebp - 0x98]
sub eax, 0x33b9c6f8
je 0x409c42
jmp 0x4086c5
mov eax, dword [ebp - 0x98]
sub eax, 0x375b7350
je 0x409a70
jmp 0x4086db
mov eax, dword [ebp - 0x98]
sub eax, 0x37faf55e
je 0x4096ae
jmp 0x4086f1
mov eax, dword [ebp - 0x98]
sub eax, 0x38e5ea25
je 0x4096bd
jmp 0x408707
mov eax, dword [ebp - 0x98]
sub eax, 0x3bf09ebc
je 0x408fa6
jmp 0x40871d
mov eax, dword [ebp - 0x98]
sub eax, 0x4486fc7c
je 0x409c5c
mov bl, byte [ebp - 0x8a]
mov dh, byte [ebp - 0x89]
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, 0xe5829341
mov ecx, 0x16d398cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x80], eax
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
sub edx, 0xba4b0504
sub edx, 1
add edx, 0xba4b0504
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, 0xe5829341
mov ecx, 0xa2b644ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0x704c7a30
jmp 0x409ca3
mov dword [ebp - 0x90], 0x7c8fb22b
jmp 0x409ca3
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
sub edx, 0x8a7149c4
sub edx, 1
add edx, 0x8a7149c4
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, 0xc8b480bb
mov ecx, 0xbf5c4ca8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
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, 0xc8b480bb
mov ecx, 0xb4f4e6aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xcf2fd485
jmp 0x409ca3
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
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 dword [ebp - 0x90], 0x977e123e
jmp 0x409ca3
mov eax, dword [ebp - 0x74]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0xd7bb7c19
jmp 0x409ca3
mov edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0xcbc25cc8
mov ecx, 0x7c54ca14
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
add edx, 0xc4e9daf1
sub edx, 1
sub edx, 0xc4e9daf1
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, 0x28e3f956
mov ecx, 0xe0456864
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xcf2fd485
jmp 0x409ca3
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x5df07ae4
jmp 0x409ca3
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
add edx, 0xc10bae30
sub edx, 1
sub edx, 0xc10bae30
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, 0x1040cbf8
mov ecx, 0xa42e6c57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x48]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
add edx, 0xb0f9c6d8
sub edx, 1
sub edx, 0xb0f9c6d8
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, 0x1040cbf8
mov ecx, 0x96770121
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dl, byte [ebp - 0x41]
mov eax, 0xa6d88d86
mov ecx, 0x2c3cb310
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
sub edx, 0xf43cd5ce
sub edx, 1
add edx, 0xf43cd5ce
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, 0x4912ff1a
mov ecx, 0x3bf09ebc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
sub edx, 0xc7c36e30
sub edx, 1
add edx, 0xc7c36e30
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, 0x4912ff1a
mov ecx, 0x2a6d3720
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xea720bd7
jmp 0x409ca3
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
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, 0xd596b6b4
mov ecx, 0x26b943a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
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, 0xd596b6b4
mov ecx, 0xe5e18cc8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0x5806173a
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
add edx, 0xdfa1d80b
sub edx, 1
sub edx, 0xdfa1d80b
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, 0xd806911e
mov ecx, 0x32c23327
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xcf2fd485
jmp 0x409ca3
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x28395714
jmp 0x409ca3
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x90], 0x53114acb
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
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, 0x8194bd4a
mov ecx, 0xbb35156d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
sub edx, 0xf7186b14
sub edx, 1
add edx, 0xf7186b14
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, 0x8194bd4a
mov ecx, 0x2d3bed23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xe2a96ded
jmp 0x409ca3
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
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, 0x760b19e6
mov ecx, 0x82601b7f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
add edx, 0x1877291
sub edx, 1
sub edx, 0x1877291
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, 0x760b19e6
mov ecx, 0xf9a0ab3e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0x59052bc9
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
sub edx, 0xc41a30d2
sub edx, 1
add edx, 0xc41a30d2
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, 0xa6b41715
mov ecx, 0xe1a6cc90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dl, byte [ebp - 0x29]
mov eax, 0x1025b14c
mov ecx, 0xce19f7ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x90], 0xe48fce7c
jmp 0x409ca3
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x9dd8f5e7
add eax, ecx
sub eax, 0x9dd8f5e7
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x90], 0x32ef9602
jmp 0x409ca3
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xc58614dd
add ecx, eax
add ecx, 0xc58614dd
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x433705
call fcn.00428780
add esp, 8
mov edx, eax
mov eax, 0xbbf75fcc
mov ecx, 0xcbdf125a
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
add edx, 0xf7443241
sub edx, 1
sub edx, 0xf7443241
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, 0xa2838d51
mov ecx, 0x1f52cde6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
sub edx, 0xda601026
sub edx, 1
add edx, 0xda601026
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, 0xa2838d51
mov ecx, 0x37faf55e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0x38e5ea25
jmp 0x409ca3
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
add edx, 0xc509f200
add edx, eax
sub edx, 0xc509f200
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x20]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xfca14423
add ecx, eax
add ecx, 0xfca14423
mov eax, dword [ebp - 0x58]
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.00424fe0
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xcd2b0ad
add esi, eax
add esi, 0xcd2b0ad
mov eax, dword [ebp - 0x54]
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 - 0x11], al
mov dword [ebp - 0x90], 0xc61d826a
jmp 0x409ca3
mov ecx, dword [0x43b59c]
mov eax, dword [0x43b598]
mov edx, ecx
sub edx, 0x64bdb560
sub edx, 1
add edx, 0x64bdb560
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, 0x33b9c6f8
mov ecx, 0x1aa57e2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov cl, byte [ebp - 0x11]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
sub edx, 0xa1bb533e
sub edx, 1
add edx, 0xa1bb533e
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, 0x33b9c6f8
mov ecx, 0x95618432
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xcbdf125a
jmp 0x409ca3
mov dword [ebp - 0x90], 0x77c8f83
jmp 0x409ca3
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x10], ax
mov dword [ebp - 0x90], 0x61fe6d51
jmp 0x409ca3
mov ax, word [ebp - 0x10]
sub ax, 0xab4f
add ax, 1
add ax, 0xab4f
mov word [ebp - 0xe], ax
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
sub edx, 0x8eb9a8c1
sub edx, 1
add edx, 0x8eb9a8c1
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, 0x4486fc7c
mov ecx, 0xcc4acbab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0x978bef81
jmp 0x409ca3
mov eax, dword [0x43b59c]
mov ecx, dword [0x43b598]
mov edx, eax
sub edx, 0xd84f6d99
sub edx, 1
add edx, 0xd84f6d99
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, 0xdf8354eb
mov ecx, 0x50d14f7f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x409ca3
mov dword [ebp - 0x90], 0xbf797978
jmp 0x409ca3
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x7b334b9f
jmp 0x409ca3
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xcf2fd485
jmp 0x409ca3
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00424160
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], 0x16d398cf
jmp 0x409ca3
mov dword [ebp - 0x90], 0xbf5c4ca8
jmp 0x409ca3
mov dword [ebp - 0x90], 0x1fbe8a2
jmp 0x409ca3
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x90], 0xa42e6c57
jmp 0x409ca3
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x26b943a2
jmp 0x409ca3
mov dword [ebp - 0x90], 0xed7e7dfe
jmp 0x409ca3
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x90], 0xbb35156d
jmp 0x409ca3
mov dword [ebp - 0x90], 0x21c5c208
jmp 0x409ca3
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x90], 0x1f52cde6
jmp 0x409ca3
mov cl, byte [ebp - 0x11]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x90], 0x1aa57e2c
jmp 0x409ca3
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0xe]
mov word [eax], cx
mov dword [ebp - 0x90], 0x50d14f7f
jmp 0x408197