Function at 0x406a70
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], eax
mov eax, dword [0x439080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x5c], 0x73f366c8
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
sub eax, 0x808adcdb
je 0x407731
jmp 0x406aac
mov eax, dword [ebp - 0x68]
sub eax, 0x80e52531
je 0x407469
jmp 0x406abf
mov eax, dword [ebp - 0x68]
sub eax, 0x9278ffaa
je 0x407b66
jmp 0x406ad2
mov eax, dword [ebp - 0x68]
sub eax, 0x9dadd9a2
je 0x4071f9
jmp 0x406ae5
mov eax, dword [ebp - 0x68]
sub eax, 0x9e6f8ebe
je 0x406f8e
jmp 0x406af8
mov eax, dword [ebp - 0x68]
sub eax, 0xa89dfcc3
je 0x4070a1
jmp 0x406b0b
mov eax, dword [ebp - 0x68]
sub eax, 0xabfcd3fc
je 0x407bcc
jmp 0x406b1e
mov eax, dword [ebp - 0x68]
sub eax, 0xc16a5849
je 0x407a79
jmp 0x406b31
mov eax, dword [ebp - 0x68]
sub eax, 0xc27e18cb
je 0x407a8d
jmp 0x406b44
mov eax, dword [ebp - 0x68]
sub eax, 0xc6ca2ab0
je 0x4074d2
jmp 0x406b57
mov eax, dword [ebp - 0x68]
sub eax, 0xc6fe19aa
je 0x407c56
jmp 0x406b6a
mov eax, dword [ebp - 0x68]
sub eax, 0xc843cb55
je 0x4070bc
jmp 0x406b7d
mov eax, dword [ebp - 0x68]
sub eax, 0xcc991bfd
je 0x40712f
jmp 0x406b90
mov eax, dword [ebp - 0x68]
sub eax, 0xd4126e4e
je 0x407520
jmp 0x406ba3
mov eax, dword [ebp - 0x68]
sub eax, 0xd662a87f
je 0x40765a
jmp 0x406bb6
mov eax, dword [ebp - 0x68]
sub eax, 0xe07da5b1
je 0x407725
jmp 0x406bc9
mov eax, dword [ebp - 0x68]
sub eax, 0xe339fdfb
je 0x407b46
jmp 0x406bdc
mov eax, dword [ebp - 0x68]
sub eax, 0xec9b2513
je 0x4074b7
jmp 0x406bef
mov eax, dword [ebp - 0x68]
sub eax, 0xecc4140b
je 0x40774b
jmp 0x406c02
mov eax, dword [ebp - 0x68]
sub eax, 0xeea30276
je 0x407966
jmp 0x406c15
mov eax, dword [ebp - 0x68]
sub eax, 0xf0263369
je 0x4073d1
jmp 0x406c28
mov eax, dword [ebp - 0x68]
sub eax, 0xf21f9ef4
je 0x407793
jmp 0x406c3b
mov eax, dword [ebp - 0x68]
sub eax, 0xf34404a0
je 0x4072df
jmp 0x406c4e
mov eax, dword [ebp - 0x68]
sub eax, 0xf6c40375
je 0x40782f
jmp 0x406c61
mov eax, dword [ebp - 0x68]
sub eax, 0xf6e8d918
je 0x4073bf
jmp 0x406c74
mov eax, dword [ebp - 0x68]
sub eax, 0xf83ddcfe
je 0x4078e7
jmp 0x406c87
mov eax, dword [ebp - 0x68]
sub eax, 0xf92c9071
je 0x407c03
jmp 0x406c9a
mov eax, dword [ebp - 0x68]
sub eax, 0xfaae3d70
je 0x407857
jmp 0x406cad
mov eax, dword [ebp - 0x68]
sub eax, 0x24f247c
je 0x40718d
jmp 0x406cc0
mov eax, dword [ebp - 0x68]
sub eax, 0x37e24f2
je 0x407874
jmp 0x406cd3
mov eax, dword [ebp - 0x68]
sub eax, 0x9006fd5
je 0x407214
jmp 0x406ce6
mov eax, dword [ebp - 0x68]
sub eax, 0xc83e961
je 0x40795a
jmp 0x406cf9
mov eax, dword [ebp - 0x68]
sub eax, 0xd655181
je 0x407a6d
jmp 0x406d0c
mov eax, dword [ebp - 0x68]
sub eax, 0xec338e6
je 0x407199
jmp 0x406d1f
mov eax, dword [ebp - 0x68]
sub eax, 0x126b6424
je 0x40783b
jmp 0x406d32
mov eax, dword [ebp - 0x68]
sub eax, 0x18e08aa2
je 0x407c1e
jmp 0x406d45
mov eax, dword [ebp - 0x68]
sub eax, 0x19599804
je 0x407bbc
jmp 0x406d58
mov eax, dword [ebp - 0x68]
sub eax, 0x1bdaeaa7
je 0x407bf7
jmp 0x406d6b
mov eax, dword [ebp - 0x68]
sub eax, 0x1f5f465c
je 0x40766c
jmp 0x406d7e
mov eax, dword [ebp - 0x68]
sub eax, 0x215e23d5
je 0x407352
jmp 0x406d91
mov eax, dword [ebp - 0x68]
sub eax, 0x27a98668
je 0x407181
jmp 0x406da4
mov eax, dword [ebp - 0x68]
sub eax, 0x2cb4a553
je 0x407572
jmp 0x406db7
mov eax, dword [ebp - 0x68]
sub eax, 0x2d60a0f8
je 0x4073dd
jmp 0x406dca
mov eax, dword [ebp - 0x68]
sub eax, 0x2df8fbd8
je 0x407c2a
jmp 0x406ddd
mov eax, dword [ebp - 0x68]
sub eax, 0x383f760e
je 0x4075c0
jmp 0x406df0
mov eax, dword [ebp - 0x68]
sub eax, 0x3a163714
je 0x407566
jmp 0x406e03
mov eax, dword [ebp - 0x68]
sub eax, 0x3cb7939e
je 0x4073b3
jmp 0x406e16
mov eax, dword [ebp - 0x68]
sub eax, 0x3d8fa7b8
je 0x407972
jmp 0x406e29
mov eax, dword [ebp - 0x68]
sub eax, 0x3e4a2a62
je 0x407a17
jmp 0x406e3c
mov eax, dword [ebp - 0x68]
sub eax, 0x43dcbfa8
je 0x40763f
jmp 0x406e4f
mov eax, dword [ebp - 0x68]
sub eax, 0x4650c07f
je 0x407af8
jmp 0x406e62
mov eax, dword [ebp - 0x68]
sub eax, 0x4865daa3
je 0x407c36
jmp 0x406e75
mov eax, dword [ebp - 0x68]
sub eax, 0x49969678
je 0x407bd8
jmp 0x406e88
mov eax, dword [ebp - 0x68]
sub eax, 0x50ba0ac3
je 0x40727f
jmp 0x406e9b
mov eax, dword [ebp - 0x68]
sub eax, 0x5ab3b76f
je 0x407633
jmp 0x406eae
mov eax, dword [ebp - 0x68]
sub eax, 0x601e3a87
je 0x4077e1
jmp 0x406ec1
mov eax, dword [ebp - 0x68]
sub eax, 0x6162dc3d
je 0x407423
jmp 0x406ed4
mov eax, dword [ebp - 0x68]
sub eax, 0x629cf1cb
je 0x407001
jmp 0x406ee7
mov eax, dword [ebp - 0x68]
sub eax, 0x70f98e87
je 0x407c0f
jmp 0x406efa
mov eax, dword [ebp - 0x68]
sub eax, 0x73f366c8
je 0x406f5e
jmp 0x406f0d
mov eax, dword [ebp - 0x68]
sub eax, 0x7611587c
je 0x4079a4
jmp 0x406f20
mov eax, dword [ebp - 0x68]
sub eax, 0x76ccdf47
je 0x4076df
jmp 0x406f33
mov eax, dword [ebp - 0x68]
sub eax, 0x77048094
je 0x4072d3
jmp 0x406f46
mov eax, dword [ebp - 0x68]
sub eax, 0x770950a6
je 0x407c42
jmp 0x406f59
jmp 0x407c5d
mov eax, dword [ebp - 0x64]
push eax
mov ecx, esp
mov dword [ebp - 0x44], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x40], ecx
push eax
sub esp, 0xffc
mov ecx, esp
mov dword [ebp - 0x3c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x5c], 0x9e6f8ebe
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0x9e495543
sub edx, 1
sub edx, 0x9e495543
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, 0x9278ffaa
mov ecx, 0x629cf1cb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
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], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x54], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x54], eax
sete al
and al, 1
mov byte [ebp - 0x32], al
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
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, 0x9278ffaa
mov ecx, 0xa89dfcc3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dl, byte [ebp - 0x32]
mov eax, 0xec338e6
mov ecx, 0xc843cb55
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0x7bc91076
sub edx, 1
sub edx, 0x7bc91076
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, 0x19599804
mov ecx, 0xcc991bfd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov byte [ebp - 0x45], 0
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0xd0117eae
sub edx, 1
sub edx, 0xd0117eae
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, 0x19599804
mov ecx, 0x27a98668
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x24f247c
jmp 0x407c5d
mov dword [ebp - 0x5c], 0xc16a5849
jmp 0x407c5d
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x58], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x58], eax
sete al
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0x5c], 0x9dadd9a2
jmp 0x407c5d
mov dl, byte [ebp - 0x31]
mov eax, 0xf6e8d918
mov ecx, 0x9006fd5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0xabfcd3fc
mov ecx, 0x50ba0ac3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0xaa595d7a
sub edx, 1
sub edx, 0xaa595d7a
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, 0xabfcd3fc
mov ecx, 0x77048094
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0xf34404a0
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x1e452585
sub edx, 1
add edx, 0x1e452585
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, 0x49969678
mov ecx, 0x215e23d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x45], 0
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0xf806338f
sub edx, 1
sub edx, 0xf806338f
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, 0x49969678
mov ecx, 0x3cb7939e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0xc16a5849
jmp 0x407c5d
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
mov dword [ebp - 0x5c], 0xf0263369
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x2d60a0f8
jmp 0x407c5d
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
xor esi, esi
sub esp, 0x14
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x5c], 0x6162dc3d
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
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, 0x1bdaeaa7
mov ecx, 0x80e52531
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x9c80ea79
sub edx, 1
sub edx, 0x9c80ea79
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, 0x1bdaeaa7
mov ecx, 0xec9b2513
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dl, byte [ebp - 0x29]
mov eax, 0xc6ca2ab0
mov ecx, 0x2cb4a553
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x3e2828d8
sub edx, 1
sub edx, 0x3e2828d8
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, 0xf92c9071
mov ecx, 0xd4126e4e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
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, 0xf92c9071
mov ecx, 0x3a163714
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x3d8fa7b8
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0xc98d4fca
sub edx, 1
sub edx, 0xc98d4fca
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, 0x70f98e87
mov ecx, 0x383f760e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0x70f98e87
mov ecx, 0x5ab3b76f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x43dcbfa8
jmp 0x407c5d
mov edx, dword [ebp - 0x28]
mov eax, 0x808adcdb
mov ecx, 0xd662a87f
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [ebp - 0x44]
mov byte [eax], 1
mov dword [ebp - 0x5c], 0x1f5f465c
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x9cfb44b7
sub edx, 1
add edx, 0x9cfb44b7
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, 0x18e08aa2
mov ecx, 0x76ccdf47
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
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, 0x18e08aa2
mov ecx, 0xe07da5b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x3d8fa7b8
jmp 0x407c5d
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x5c], 0xecc4140b
jmp 0x407c5d
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
xor edi, edi
sub esp, 0x14
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, eax
mov eax, 0xf21f9ef4
mov ecx, 0x126b6424
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x20d6af1f
sub edx, 1
sub edx, 0x20d6af1f
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, 0x2df8fbd8
mov ecx, 0x601e3a87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0xdc112394
sub edx, 1
sub edx, 0xdc112394
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, 0x2df8fbd8
mov ecx, 0xf6c40375
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x3d8fa7b8
jmp 0x407c5d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0xfaae3d70
jmp 0x407c5d
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, 0xeea30276
mov ecx, 0x37e24f2
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0xbf1e225c
sub edx, 1
sub edx, 0xbf1e225c
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, 0x4865daa3
mov ecx, 0xf83ddcfe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
add edx, 0x58314cf
sub edx, 1
sub edx, 0x58314cf
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, 0x4865daa3
mov ecx, 0xc83e961
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x3d8fa7b8
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x2d60a0f8
jmp 0x407c5d
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x44]
mov al, byte [eax]
mov byte [ebp - 0x12], al
mov dword [ebp - 0x5c], 0x7611587c
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
mov edx, ecx
sub edx, 0x8c6ca634
sub edx, 1
add edx, 0x8c6ca634
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, 0x770950a6
mov ecx, 0x3e4a2a62
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
add edx, 0x2f359440
sub edx, 1
sub edx, 0x2f359440
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, 0x770950a6
mov ecx, 0xd655181
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov dword [ebp - 0x5c], 0xc16a5849
jmp 0x407c5d
mov al, byte [ebp - 0x45]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x5c], 0xc27e18cb
jmp 0x407c5d
mov ecx, dword [0x43a564]
mov eax, dword [0x43a560]
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, 0xc6fe19aa
mov ecx, 0x4650c07f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov eax, dword [0x43a564]
mov ecx, dword [0x43a560]
mov edx, eax
sub edx, 0x96224b71
sub edx, 1
add edx, 0x96224b71
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, 0xc6fe19aa
mov ecx, 0xe339fdfb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x407c5d
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00423510
mov eax, dword [ebp - 0x6c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
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], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], 0x629cf1cb
jmp 0x407c5d
mov byte [ebp - 0x45], 0
mov dword [ebp - 0x5c], 0xcc991bfd
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x50ba0ac3
jmp 0x407c5d
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x45], 0
mov dword [ebp - 0x5c], 0x215e23d5
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x80e52531
jmp 0x407c5d
mov dword [ebp - 0x5c], 0xd4126e4e
jmp 0x407c5d
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5c], 0x383f760e
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x76ccdf47
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x601e3a87
jmp 0x407c5d
mov dword [ebp - 0x5c], 0xf83ddcfe
jmp 0x407c5d
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x45], al
mov dword [ebp - 0x5c], 0x3e4a2a62
jmp 0x407c5d
mov dword [ebp - 0x5c], 0x4650c07f
jmp 0x406a96