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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1078
call fcn.0041b560
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1060], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x105c], eax
mov eax, dword [0x431080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1058], 0x51388687
mov eax, dword [ebp - 0x1058]
mov dword [ebp - 0x1064], eax
sub eax, 0x8038bc47
je 0x40674c
jmp 0x406082
mov eax, dword [ebp - 0x1064]
sub eax, 0x808525b9
je 0x406af7
jmp 0x406098
mov eax, dword [ebp - 0x1064]
sub eax, 0x8505ae3e
je 0x406a38
jmp 0x4060ae
mov eax, dword [ebp - 0x1064]
sub eax, 0x97d92f21
je 0x4066d6
jmp 0x4060c4
mov eax, dword [ebp - 0x1064]
sub eax, 0x993e1257
je 0x406e99
jmp 0x4060da
mov eax, dword [ebp - 0x1064]
sub eax, 0x9aba666b
je 0x406c32
jmp 0x4060f0
mov eax, dword [ebp - 0x1064]
sub eax, 0x9b2a0554
je 0x40693e
jmp 0x406106
mov eax, dword [ebp - 0x1064]
sub eax, 0xa649795e
je 0x406b4d
jmp 0x40611c
mov eax, dword [ebp - 0x1064]
sub eax, 0xac116993
je 0x4067f5
jmp 0x406132
mov eax, dword [ebp - 0x1064]
sub eax, 0xae1f2765
je 0x4067d0
jmp 0x406148
mov eax, dword [ebp - 0x1064]
sub eax, 0xaf618256
je 0x406b2c
jmp 0x40615e
mov eax, dword [ebp - 0x1064]
sub eax, 0xb565f404
je 0x4067c1
jmp 0x406174
mov eax, dword [ebp - 0x1064]
sub eax, 0xbf4e2bff
je 0x406cc4
jmp 0x40618a
mov eax, dword [ebp - 0x1064]
sub eax, 0xc07269b0
je 0x406d48
jmp 0x4061a0
mov eax, dword [ebp - 0x1064]
sub eax, 0xc0bcbea5
je 0x40694d
jmp 0x4061b6
mov eax, dword [ebp - 0x1064]
sub eax, 0xc431d7fb
je 0x406989
jmp 0x4061cc
mov eax, dword [ebp - 0x1064]
sub eax, 0xc7389b01
je 0x406bd2
jmp 0x4061e2
mov eax, dword [ebp - 0x1064]
sub eax, 0xc92fb7f6
je 0x4064da
jmp 0x4061f8
mov eax, dword [ebp - 0x1064]
sub eax, 0xcd379319
je 0x4065cb
jmp 0x40620e
mov eax, dword [ebp - 0x1064]
sub eax, 0xd4d9bfad
je 0x40655d
jmp 0x406224
mov eax, dword [ebp - 0x1064]
sub eax, 0xdab671b8
je 0x406ea8
jmp 0x40623a
mov eax, dword [ebp - 0x1064]
sub eax, 0xe1ffd470
je 0x406a81
jmp 0x406250
mov eax, dword [ebp - 0x1064]
sub eax, 0xec61b621
je 0x4069ae
jmp 0x406266
mov eax, dword [ebp - 0x1064]
sub eax, 0xf667a348
je 0x406d74
jmp 0x40627c
mov eax, dword [ebp - 0x1064]
sub eax, 0xf6d2e6f0
je 0x406c73
jmp 0x406292
mov eax, dword [ebp - 0x1064]
sub eax, 0xf85b2990
je 0x406ed4
jmp 0x4062a8
mov eax, dword [ebp - 0x1064]
sub eax, 0xfc9e2fd6
je 0x406842
jmp 0x4062be
mov eax, dword [ebp - 0x1064]
sub eax, 0x923d296
je 0x406e5f
jmp 0x4062d4
mov eax, dword [ebp - 0x1064]
sub eax, 0xc6e7a1e
je 0x406b06
jmp 0x4062ea
mov eax, dword [ebp - 0x1064]
sub eax, 0x21743b0d
je 0x406d57
jmp 0x406300
mov eax, dword [ebp - 0x1064]
sub eax, 0x22344762
je 0x406c23
jmp 0x406316
mov eax, dword [ebp - 0x1064]
sub eax, 0x354c9862
je 0x40699f
jmp 0x40632c
mov eax, dword [ebp - 0x1064]
sub eax, 0x36703df5
je 0x40662b
jmp 0x406342
mov eax, dword [ebp - 0x1064]
sub eax, 0x39ed6239
je 0x406968
jmp 0x406358
mov eax, dword [ebp - 0x1064]
sub eax, 0x3aaa47e0
je 0x40691d
jmp 0x40636e
mov eax, dword [ebp - 0x1064]
sub eax, 0x3f7851d0
je 0x406e84
jmp 0x406384
mov eax, dword [ebp - 0x1064]
sub eax, 0x4e558e69
je 0x4069e1
jmp 0x40639a
mov eax, dword [ebp - 0x1064]
sub eax, 0x51388687
je 0x4064a7
jmp 0x4063b0
mov eax, dword [ebp - 0x1064]
sub eax, 0x52065d52
je 0x406e33
jmp 0x4063c6
mov eax, dword [ebp - 0x1064]
sub eax, 0x571c4c44
je 0x406e6e
jmp 0x4063dc
mov eax, dword [ebp - 0x1064]
sub eax, 0x57612c71
je 0x40661c
jmp 0x4063f2
mov eax, dword [ebp - 0x1064]
sub eax, 0x62865589
je 0x406690
jmp 0x406408
mov eax, dword [ebp - 0x1064]
sub eax, 0x653361a1
je 0x406eb7
jmp 0x40641e
mov eax, dword [ebp - 0x1064]
sub eax, 0x676c2954
je 0x4068b8
jmp 0x406434
mov eax, dword [ebp - 0x1064]
sub eax, 0x68cb6986
je 0x406dea
jmp 0x40644a
mov eax, dword [ebp - 0x1064]
sub eax, 0x68d2a8af
je 0x4066b5
jmp 0x406460
mov eax, dword [ebp - 0x1064]
sub eax, 0x69e5fa52
je 0x406b5c
jmp 0x406476
mov eax, dword [ebp - 0x1064]
sub eax, 0x6f6dfb50
je 0x406547
jmp 0x40648c
mov eax, dword [ebp - 0x1064]
sub eax, 0x770c0d4f
je 0x4067e6
jmp 0x4064a2
jmp 0x406ede
mov eax, dword [ebp - 0x105c]
mov ecx, dword [ebp - 0x1060]
mov dword [ebp - 0x1044], ecx
mov dword [ebp - 0x1048], eax
mov eax, dword [ebp - 0x1048]
mov dword [ebp - 0x103c], eax
mov dword [ebp - 0x1058], 0xc92fb7f6
jmp 0x406ede
mov eax, dword [ebp - 0x103c]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x104c], eax
mov edx, 0xffffffff
mov eax, 0x36703df5
mov ecx, 0x6f6dfb50
cmp dword [ebp - 0x104c], edx
cmove eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov byte [ebp - 0x103d], 0
mov dword [ebp - 0x1058], 0xd4d9bfad
jmp 0x406ede
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
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, 0x923d296
mov ecx, 0xcd379319
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov eax, dword [0x432594]
mov ecx, dword [0x432590]
mov edx, eax
sub edx, 0x5a40cd82
sub edx, 1
add edx, 0x5a40cd82
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, 0x923d296
mov ecx, 0x57612c71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0x21743b0d
jmp 0x406ede
mov eax, dword [ebp - 0x1044]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0x1050]
mov dword [ebp - 0x1038], eax
mov dword [ebp - 0x1058], 0x62865589
jmp 0x406ede
mov edx, dword [ebp - 0x1038]
mov esi, 0xffffffff
mov eax, 0xae1f2765
mov ecx, 0x68d2a8af
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov eax, dword [ebp - 0x104c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1058], 0x97d92f21
jmp 0x406ede
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
mov edx, ecx
sub edx, 0xe72d96f7
sub edx, 1
add edx, 0xe72d96f7
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, 0x571c4c44
mov ecx, 0x8038bc47
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov byte [ebp - 0x103d], 0
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
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, 0x571c4c44
mov ecx, 0xb565f404
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0x21743b0d
jmp 0x406ede
mov byte [ebp - 0x1051], 0
mov dword [ebp - 0x1058], 0x770c0d4f
jmp 0x406ede
mov dword [ebp - 0x1058], 0xac116993
jmp 0x406ede
lea ecx, [ebp - 0x1010]
mov edx, dword [ebp - 0x104c]
lea eax, [ebp - 0x1018]
xor esi, esi
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]
sub esp, 0x14
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x1058], 0xfc9e2fd6
jmp 0x406ede
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
mov edx, ecx
sub edx, 0x8e92582b
sub edx, 1
add edx, 0x8e92582b
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, 0x3f7851d0
mov ecx, 0x676c2954
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov eax, dword [ebp - 0x1034]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x102d], al
mov eax, dword [0x432594]
mov ecx, dword [0x432590]
mov edx, eax
add edx, 0xaf62b7da
sub edx, 1
sub edx, 0xaf62b7da
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, 0x3f7851d0
mov ecx, 0x3aaa47e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dl, byte [ebp - 0x102d]
mov eax, 0x9b2a0554
mov ecx, 0xc0bcbea5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0x9aba666b
jmp 0x406ede
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x102c], eax
mov dword [ebp - 0x1058], 0x39ed6239
jmp 0x406ede
mov edx, dword [ebp - 0x102c]
mov eax, 0xec61b621
mov ecx, 0xc431d7fb
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov byte [ebp - 0x1051], 1
mov dword [ebp - 0x1058], 0x354c9862
jmp 0x406ede
mov dword [ebp - 0x1058], 0x9aba666b
jmp 0x406ede
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1028], eax
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1024], eax
mov eax, dword [ebp - 0x1050]
mov dword [ebp - 0x1020], eax
mov dword [ebp - 0x1058], 0x4e558e69
jmp 0x406ede
mov ecx, dword [ebp - 0x1028]
mov edx, dword [ebp - 0x1024]
mov esi, dword [ebp - 0x1020]
lea eax, [ebp - 0x1014]
xor edi, edi
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]
sub esp, 0x14
mov edx, eax
mov eax, 0x8505ae3e
mov ecx, 0xc6e7a1e
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov eax, dword [0x432594]
mov ecx, dword [0x432590]
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, 0x993e1257
mov ecx, 0xe1ffd470
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
mov edx, ecx
add edx, 0xb296ff12
sub edx, 1
sub edx, 0xb296ff12
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, 0x993e1257
mov ecx, 0x808525b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0x9aba666b
jmp 0x406ede
mov eax, dword [ebp - 0x1014]
cmp eax, dword [ebp - 0x1018]
setne al
and al, 1
mov byte [ebp - 0x101b], al
mov dword [ebp - 0x1058], 0xaf618256
jmp 0x406ede
mov dl, byte [ebp - 0x101b]
mov eax, 0x69e5fa52
mov ecx, 0xa649795e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0x9aba666b
jmp 0x406ede
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
mov edx, ecx
add edx, 0x32c2b597
sub edx, 1
sub edx, 0x32c2b597
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, 0xdab671b8
mov ecx, 0xc7389b01
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov eax, dword [0x432594]
mov ecx, dword [0x432590]
mov edx, eax
add edx, 0x839ffe9b
sub edx, 1
sub edx, 0x839ffe9b
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, 0xdab671b8
mov ecx, 0x22344762
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0xac116993
jmp 0x406ede
mov eax, dword [ebp - 0x104c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x1050]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov al, byte [ebp - 0x1051]
and al, 1
mov byte [ebp - 0x101a], al
mov dword [ebp - 0x1058], 0xf6d2e6f0
jmp 0x406ede
mov eax, dword [0x432594]
mov ecx, dword [0x432590]
mov edx, eax
add edx, 0xbb7d28e
sub edx, 1
sub edx, 0xbb7d28e
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, 0x653361a1
mov ecx, 0xbf4e2bff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov al, byte [ebp - 0x101a]
and al, 1
mov byte [ebp - 0x103d], al
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
mov edx, ecx
sub edx, 0xca002266
sub edx, 1
add edx, 0xca002266
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, 0x653361a1
mov ecx, 0xc07269b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov dword [ebp - 0x1058], 0x21743b0d
jmp 0x406ede
mov al, byte [ebp - 0x103d]
and al, 1
mov byte [ebp - 0x1019], al
mov dword [ebp - 0x1058], 0xf667a348
jmp 0x406ede
mov ecx, dword [0x432594]
mov eax, dword [0x432590]
mov edx, ecx
add edx, 0x70f9cb52
sub edx, 1
sub edx, 0x70f9cb52
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, 0xf85b2990
mov ecx, 0x68cb6986
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov eax, dword [0x432594]
mov ecx, dword [0x432590]
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, 0xf85b2990
mov ecx, 0x52065d52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1058], eax
jmp 0x406ede
mov al, byte [ebp - 0x1019]
and al, 1
movzx eax, al
mov dword [ebp - 0x1068], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041b550
mov eax, dword [ebp - 0x1068]
add esp, 0x1078
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x1058], 0xcd379319
jmp 0x406ede
mov byte [ebp - 0x103d], 0
mov dword [ebp - 0x1058], 0x8038bc47
jmp 0x406ede
mov eax, dword [ebp - 0x1034]
mov dword [ebp - 0x1058], 0x676c2954
jmp 0x406ede
mov dword [ebp - 0x1058], 0xe1ffd470
jmp 0x406ede
mov dword [ebp - 0x1058], 0xc7389b01
jmp 0x406ede
mov al, byte [ebp - 0x101a]
and al, 1
mov byte [ebp - 0x103d], al
mov dword [ebp - 0x1058], 0xbf4e2bff
jmp 0x406ede
mov dword [ebp - 0x1058], 0x68cb6986
jmp 0x406066