Function at 0x40a050
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x94
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov edi, dword [0x4305f0]
xor edi, ebp
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 8]
mov dword [esp], edi
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0xf28885d9
mov eax, dword [ebp - 0x28]
mov ecx, eax
sub ecx, 0xa928d089
mov dword [ebp - 0x3c], eax
je 0x40a2d3
jmp 0x40a0e6
mov eax, dword [ebp - 0x3c]
sub eax, 0xb50f5364
je 0x40a236
jmp 0x40a0f9
mov eax, dword [ebp - 0x3c]
sub eax, 0xe4111a8c
je 0x40a1ee
jmp 0x40a10c
mov eax, dword [ebp - 0x3c]
sub eax, 0xf28885d9
je 0x40a1cf
jmp 0x40a11f
mov eax, dword [ebp - 0x3c]
sub eax, 0xfa15c817
je 0x40b121
jmp 0x40a132
mov eax, dword [ebp - 0x3c]
sub eax, 0xfb93e81a
je 0x40a2b0
jmp 0x40a145
mov eax, dword [ebp - 0x3c]
sub eax, 0x263eb3ea
je 0x40a255
jmp 0x40a158
mov eax, dword [ebp - 0x3c]
sub eax, 0x370ba2d2
je 0x40b15f
jmp 0x40a16b
mov eax, dword [ebp - 0x3c]
sub eax, 0x57b41c3f
je 0x40a52e
jmp 0x40a17e
mov eax, dword [ebp - 0x3c]
sub eax, 0x61955a1a
je 0x40b188
jmp 0x40a191
mov eax, dword [ebp - 0x3c]
sub eax, 0x62232628
je 0x40a1fe
jmp 0x40a1a4
mov eax, dword [ebp - 0x3c]
sub eax, 0x62ffcb76
je 0x40b115
jmp 0x40a1b7
mov eax, dword [ebp - 0x3c]
sub eax, 0x631a997b
je 0x40b140
jmp 0x40a1ca
jmp 0x40b19a
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffffff
cmp eax, ecx
mov eax, 0xe4111a8c
mov ecx, 0x62232628
cmove ecx, eax
mov dword [ebp - 0x28], ecx
jmp 0x40b19a
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x28], 0x370ba2d2
jmp 0x40b19a
xor eax, eax
mov ecx, dword [ebp - 0x20]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x40], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
mov eax, 0xb50f5364
mov ecx, 0x263eb3ea
cmove ecx, eax
mov dword [ebp - 0x28], ecx
jmp 0x40b19a
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x28], 0x370ba2d2
jmp 0x40b19a
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.00419253
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp + 0xc]
mov esi, dword [esi]
mov edi, dword [ebp - 0x20]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [ebp - 0x44], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
cmp eax, 0
mov eax, 0x631a997b
mov ecx, 0xfb93e81a
cmovne ecx, eax
mov dword [ebp - 0x28], ecx
jmp 0x40b19a
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
mov eax, 0xfa15c817
mov ecx, 0xa928d089
cmove ecx, eax
mov dword [ebp - 0x28], ecx
jmp 0x40b19a
xor eax, eax
mov ecx, dword [0x430fc4]
mov edx, dword [0x430fc8]
mov esi, eax
sub esi, 0xe1293115
sub esi, ecx
add esi, 0xe1293115
mov edi, eax
sub edi, 0x8edb141f
add edi, 0
add esi, 0x3e2d5ad1
add esi, edi
sub esi, 0x3e2d5ad1
mov edi, 0x4ecf09c3
add edi, 0
sub edi, esi
sub edi, 0x4ecf09c3
sub edi, 0x44b74d15
add edi, 0xe9460035
add edi, 0x44b74d15
mov esi, eax
sub esi, 1
add edi, esi
add edi, 0xf252e6ce
sub edi, 0xe9460035
sub edi, 0xf252e6ce
mov esi, eax
sub esi, 0x3186e219
sub esi, 0x8edb141f
add esi, 0x3186e219
sub eax, esi
sub edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bh
xor al, 0xff
and al, 1
mov ah, 1
mov cl, ah
xor cl, 1
mov ch, bh
and ch, cl
or al, ch
mov cl, bl
xor cl, 0xff
and cl, 0
mov ch, ah
xor ch, 0
mov dl, bl
and dl, ch
mov dh, al
xor dh, 0xff
and dh, 0
and al, ch
or cl, dl
or dh, al
xor cl, dh
xor cl, 0xff
mov al, bl
xor al, 0xff
mov dl, ah
xor dl, 0
or cl, al
or dl, 0
xor cl, 0xff
and cl, dl
mov al, bl
xor al, 0xff
and al, 1
mov dl, ah
xor dl, 1
mov ch, bl
and ch, dl
or al, ch
mov dl, ah
xor dl, 1
xor al, 0xff
mov ch, ah
xor ch, 0
or dl, al
or ch, 0
xor dl, 0xff
and dl, ch
mov al, ah
xor al, 1
and al, 0
mov ch, ah
xor ch, 0
mov dh, ch
and dh, 1
mov byte [ebp - 0x45], ah
xor ah, 1
and ah, 0
and ch, 1
or al, dh
or ah, ch
xor al, ah
xor bl, 0xff
mov ah, al
xor ah, 0xff
mov ch, byte [ebp - 0x45]
xor ch, 0
or bl, ah
or ch, 0
xor bl, 0xff
and bl, ch
mov ah, bh
xor ah, 0xff
and ah, 1
mov ch, byte [ebp - 0x45]
xor ch, 1
mov dh, bh
and dh, ch
or ah, dh
xor ah, 0xff
mov ch, byte [ebp - 0x45]
xor ch, 1
mov dh, byte [ebp - 0x45]
xor dh, 1
or ah, ch
or dh, 1
xor ah, 0xff
and ah, dh
xor bh, 0xff
xor al, 0xff
mov ch, byte [ebp - 0x45]
xor ch, 0
or bh, al
or ch, 0
xor bh, 0xff
and bh, ch
mov al, dl
xor al, 0xff
mov ch, bl
xor ch, 0xff
mov dh, byte [ebp - 0x45]
xor dh, 0
mov byte [ebp - 0x46], al
and al, 0
and dl, dh
mov byte [ebp - 0x47], ch
and ch, 0
and bl, dh
or al, dl
or ch, bl
xor al, ch
mov dl, byte [ebp - 0x46]
mov ch, byte [ebp - 0x47]
or dl, ch
xor dl, 0xff
or dh, 0
and dl, dh
or al, dl
mov dl, ah
xor dl, 0xff
mov dh, bh
xor dh, 0xff
mov bl, byte [ebp - 0x45]
xor bl, 0
mov ch, dl
and ch, 0
and ah, bl
mov byte [ebp - 0x48], dh
and dh, 0
and bh, bl
or ch, ah
or dh, bh
xor ch, dh
mov ah, byte [ebp - 0x48]
or dl, ah
xor dl, 0xff
or bl, 0
and dl, bl
or ch, dl
mov dl, al
xor dl, 0xff
mov dh, ch
and dh, dl
xor ch, 0xff
and al, ch
or dh, al
mov al, cl
xor al, 0xff
mov dl, dh
xor dl, 0xff
mov ch, byte [ebp - 0x45]
xor ch, 1
or al, dl
or ch, 1
xor al, 0xff
and al, ch
mov dl, cl
xor dl, 0xff
and dl, 0
mov ch, byte [ebp - 0x45]
xor ch, 0
and cl, ch
mov bl, dh
xor bl, 0xff
and bl, 0
and dh, ch
or dl, cl
or bl, dh
xor dl, bl
mov cl, al
and cl, dl
xor al, dl
or cl, al
test cl, 1
mov esi, 0x57b41c3f
mov edi, 0x61955a1a
cmovne edi, esi
mov dword [ebp - 0x28], edi
jmp 0x40b19a
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0041925c
xor eax, eax
mov ecx, dword [0x430fc4]
mov edx, dword [0x430fc8]
mov esi, eax
sub esi, 0x37cae262
add esi, 0
mov edi, eax
sub edi, esi
mov esi, ecx
sub esi, edi
mov edi, eax
sub edi, 0x1c0897b9
sub esi, edi
sub esi, 0x44f6b637
sub esi, 1
add esi, 0x44f6b637
sub esi, 0x777b4053
sub esi, 0x1c0897b9
add esi, 0x777b4053
mov edi, eax
sub edi, esi
add edi, 0
mov esi, 0x37beaaf0
add esi, 0
sub esi, 0x37cae262
sub esi, 0x37beaaf0
add edi, 0x20bd1481
add edi, esi
sub edi, 0x20bd1481
sub eax, edi
add eax, 0
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
and al, 1
mov ah, 1
mov cl, ah
xor cl, 1
mov ch, bl
and ch, cl
or al, ch
mov cl, ah
xor cl, 1
xor al, 0xff
mov ch, ah
xor ch, 1
or cl, al
or ch, 1
xor cl, 0xff
and cl, ch
mov al, ah
xor al, 1
and al, 0
mov ch, ah
xor ch, 0
mov dl, ch
and dl, 1
mov dh, ah
xor dh, 1
and dh, 0
and ch, 1
or al, dl
or dh, ch
xor al, dh
mov dl, al
xor dl, 0xff
mov ch, bl
xor ch, dl
and ch, bl
mov dl, ah
xor dl, 1
and dl, 1
mov dh, ah
xor dh, 1
and dh, 1
or dl, dh
mov dh, ah
xor dh, 1
mov byte [ebp - 0x49], dl
xor dl, dh
mov dh, byte [ebp - 0x49]
and dl, dh
xor al, 0xff
xor al, 1
and al, 0xff
mov dh, cl
and dh, ch
xor cl, ch
or dh, cl
mov cl, dl
and cl, al
xor dl, al
or cl, dl
mov al, dh
xor al, 0xff
and al, 0
mov dl, ah
xor dl, 0
and dh, dl
mov ch, cl
xor ch, 0xff
and ch, 0
and cl, dl
or al, dh
or ch, cl
xor al, ch
mov cl, bh
xor cl, 0xff
and cl, 1
mov dl, ah
xor dl, 1
mov ch, bh
and ch, dl
or cl, ch
xor cl, 0xff
xor cl, 0
and cl, 0
mov dl, ah
xor dl, 0
and dl, 0
mov ch, ah
xor ch, 0
mov dh, ch
and dh, 0
mov byte [ebp - 0x4a], ah
xor ah, 1
and ah, 0
and ch, 1
or dl, dh
or ah, ch
xor dl, ah
mov ah, dl
xor ah, 0xff
mov ch, bh
xor ch, ah
and ch, bh
mov ah, byte [ebp - 0x4a]
xor ah, 1
and ah, 0
mov dh, byte [ebp - 0x4a]
xor dh, 0
mov byte [ebp - 0x4b], dh
and dh, 1
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4a]
xor al, 1
and al, 0
mov byte [ebp - 0x4d], al
mov al, byte [ebp - 0x4b]
and al, 1
or ah, dh
mov dh, byte [ebp - 0x4d]
or dh, al
xor ah, dh
xor ah, 0xff
mov al, byte [ebp - 0x4a]
xor al, 0
mov dh, byte [ebp - 0x4a]
xor dh, 0
or ah, al
or dh, 0
xor ah, 0xff
and ah, dh
mov al, byte [ebp - 0x4a]
xor al, 1
xor dl, 0xff
mov dh, byte [ebp - 0x4a]
xor dh, 0
or al, dl
or dh, 0
xor al, 0xff
and al, dh
mov dl, cl
xor dl, 0xff
mov dh, ch
xor dh, 0xff
mov byte [ebp - 0x4e], al
mov al, byte [ebp - 0x4a]
xor al, 1
mov byte [ebp - 0x4f], dl
and dl, 0xff
and cl, al
mov byte [ebp - 0x50], dh
and dh, 0xff
and ch, al
or dl, cl
or dh, ch
xor dl, dh
mov cl, byte [ebp - 0x4f]
mov ch, byte [ebp - 0x50]
or cl, ch
xor cl, 0xff
or al, 1
and cl, al
or dl, cl
mov al, ah
xor al, 0xff
mov cl, byte [ebp - 0x4e]
xor cl, 0xff
mov dh, byte [ebp - 0x4a]
xor dh, 1
mov ch, al
and ch, 0xff
and ah, dh
mov byte [ebp - 0x51], cl
and cl, 0xff
mov byte [ebp - 0x52], al
mov al, byte [ebp - 0x4e]
and al, dh
or ch, ah
or cl, al
xor ch, cl
mov al, byte [ebp - 0x52]
mov cl, byte [ebp - 0x51]
or al, cl
xor al, 0xff
or dh, 1
and al, dh
or ch, al
mov al, dl
xor al, 0xff
and al, 1
mov ah, byte [ebp - 0x4a]
xor ah, 1
and dl, ah
mov dh, ch
xor dh, 0xff
and dh, 0xff
and ch, ah
or al, dl
or dh, ch
xor al, dh
mov dl, byte [ebp - 0x4a]
xor dl, 1
and dl, 1
mov ah, byte [ebp - 0x4a]
xor ah, 1
and ah, 1
or dl, ah
xor dl, 0xff
xor dl, 1
and dl, 0xff
mov ah, byte [ebp - 0x4a]
xor ah, 1
and ah, 1
mov ch, byte [ebp - 0x4a]
xor ch, 1
mov dh, ch
and dh, 1
mov cl, byte [ebp - 0x4a]
xor cl, 1
and cl, 0xff
and ch, 1
or ah, dh
or cl, ch
xor ah, cl
xor ah, 0xff
xor ah, 1
and ah, 0xff
mov cl, dl
and cl, ah
xor dl, ah
or cl, dl
mov dl, byte [ebp - 0x4a]
xor dl, 1
and dl, 1
mov ah, byte [ebp - 0x4a]
xor ah, 1
and ah, 1
or dl, ah
mov ah, byte [ebp - 0x4c]
xor ah, 0xff
mov ch, dl
and ch, ah
xor dl, 0xff
mov ah, byte [ebp - 0x4c]
and ah, dl
or ch, ah
mov dl, byte [ebp - 0x4c]
xor dl, 0xff
mov ah, ch
xor ah, dl
and ah, ch
mov dl, bl
xor dl, 0xff
and dl, 1
mov ch, byte [ebp - 0x4a]
xor ch, 1
and bl, ch
or dl, bl
mov ch, cl
xor ch, 0xff
and ch, 1
mov dh, byte [ebp - 0x4a]
xor dh, 1
mov bl, cl
and bl, dh
or ch, bl
mov dh, byte [ebp - 0x4a]
xor dh, 0
and dh, 0
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov byte [ebp - 0x53], bl
and bl, 0
mov byte [ebp - 0x54], al
mov al, byte [ebp - 0x4a]
xor al, 1
and al, 0
mov byte [ebp - 0x55], al
mov al, byte [ebp - 0x53]
and al, 1
or dh, bl
mov bl, byte [ebp - 0x55]
or bl, al
xor dh, bl
mov al, dl
and al, ch
xor dl, ch
or al, dl
mov dl, byte [ebp - 0x4a]
xor dl, 0
mov ch, dh
xor ch, 0xff
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov byte [ebp - 0x56], dl
and dl, 0
mov byte [ebp - 0x57], bl
and bl, 0
mov byte [ebp - 0x58], ch
and ch, 0
mov byte [ebp - 0x59], al
mov al, byte [ebp - 0x57]
and dh, al
or dl, bl
or ch, dh
xor dl, ch
mov ch, byte [ebp - 0x56]
mov dh, byte [ebp - 0x58]
or ch, dh
xor ch, 0xff
or al, 0
and ch, al
or dl, ch
mov al, byte [ebp - 0x59]
xor al, 0xff
and al, 1
mov ch, byte [ebp - 0x4a]
xor ch, 1
mov bl, byte [ebp - 0x59]
and bl, ch
or al, bl
xor dl, 0xff
mov ch, al
xor ch, dl
and ch, al
mov al, byte [ebp - 0x54]
xor al, 0xff
and al, 0
mov dl, byte [ebp - 0x4a]
xor dl, 0
mov bl, byte [ebp - 0x54]
and bl, dl
mov dh, byte [ebp - 0x4a]
xor dh, 1
and dh, 0
and dl, 1
or al, bl
or dh, dl
xor al, dh
mov dl, byte [ebp - 0x4a]
xor dl, 1
and dl, 1
mov dh, byte [ebp - 0x4a]
xor dh, 1
and dh, 1
or dl, dh
mov dh, byte [ebp - 0x4a]
xor dh, 1
and dh, 1
mov bl, byte [ebp - 0x4a]
xor bl, 1
and bl, 1
or dh, bl
mov bl, al
xor bl, 0xff
mov byte [ebp - 0x5a], dl
xor dl, 0xff
mov byte [ebp - 0x5b], al
mov al, byte [ebp - 0x4a]
xor al, 0
mov byte [ebp - 0x5c], bl
and bl, 0
mov byte [ebp - 0x5d], al
mov al, byte [ebp - 0x5b]
mov byte [ebp - 0x5e], cl
mov cl, byte [ebp - 0x5d]
and al, cl
mov cl, dl
and cl, 0
mov byte [ebp - 0x5f], al
mov al, byte [ebp - 0x5a]
mov byte [ebp - 0x60], cl
mov cl, byte [ebp - 0x5d]
and al, cl
mov cl, byte [ebp - 0x5f]
or bl, cl
mov cl, byte [ebp - 0x60]
or cl, al
xor bl, cl
mov al, byte [ebp - 0x5c]
or al, dl
xor al, 0xff
mov cl, byte [ebp - 0x5d]
or cl, 0
and al, cl
or bl, al
mov al, byte [ebp - 0x4a]
xor al, 1
mov cl, dh
xor cl, 0xff
mov dl, byte [ebp - 0x4a]
xor dl, 1
mov byte [ebp - 0x61], al
and al, 0xff
mov byte [ebp - 0x62], dl
and dl, 1
mov byte [ebp - 0x63], cl
and cl, 0xff
mov byte [ebp - 0x64], al
mov al, byte [ebp - 0x62]
and dh, al
mov al, byte [ebp - 0x64]
or al, dl
or cl, dh
xor al, cl
mov cl, byte [ebp - 0x61]
mov dl, byte [ebp - 0x63]
or cl, dl
xor cl, 0xff
mov dh, byte [ebp - 0x62]
or dh, 1
and cl, dh
or al, cl
mov cl, bl
xor cl, 0xff
and cl, 1
mov dh, byte [ebp - 0x4a]
xor dh, 1
and bl, dh
or cl, bl
xor al, 0xff
mov dh, cl
xor dh, al
and dh, cl
mov al, bh
xor al, 0xff
and al, 1
mov cl, byte [ebp - 0x4a]
xor cl, 1
and bh, cl
or al, bh
mov cl, byte [ebp - 0x5e]
xor cl, 0xff
and cl, 0
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov bh, byte [ebp - 0x5e]
and bh, bl
mov dl, byte [ebp - 0x4a]
xor dl, 1
and dl, 0
and bl, 1
or cl, bh
or dl, bl
xor cl, dl
mov dl, byte [ebp - 0x4a]
xor dl, 0
and dl, 1
mov bl, byte [ebp - 0x4a]
xor bl, 1
mov bh, bl
and bh, 0
mov byte [ebp - 0x65], al
mov al, byte [ebp - 0x4a]
xor al, 1
and al, 0xff
and bl, 1
or dl, bh
or al, bl
xor dl, al
mov al, byte [ebp - 0x65]
xor al, 0xff
mov bl, cl
xor bl, 0xff
mov bh, byte [ebp - 0x4a]
xor bh, 0
mov byte [ebp - 0x66], al
and al, 0
mov byte [ebp - 0x67], al
mov al, byte [ebp - 0x65]
and al, bh
mov byte [ebp - 0x68], bl
and bl, 0
and cl, bh
mov byte [ebp - 0x69], al
mov al, byte [ebp - 0x67]
mov byte [ebp - 0x6a], cl
mov cl, byte [ebp - 0x69]
or al, cl
mov cl, byte [ebp - 0x6a]
or bl, cl
xor al, bl
mov cl, byte [ebp - 0x66]
mov bl, byte [ebp - 0x68]
or cl, bl
xor cl, 0xff
or bh, 0
and cl, bh
or al, cl
mov cl, byte [ebp - 0x4a]
xor cl, 0
mov bh, dl
xor bh, 0xff
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov byte [ebp - 0x6b], cl
and cl, 0
mov byte [ebp - 0x6c], bl
and bl, 0
mov byte [ebp - 0x6d], bh
and bh, 0
mov byte [ebp - 0x6e], al
mov al, byte [ebp - 0x6c]
and dl, al
or cl, bl
or bh, dl
xor cl, bh
mov dl, byte [ebp - 0x6b]
mov bl, byte [ebp - 0x6d]
or dl, bl
xor dl, 0xff
or al, 0
and dl, al
or cl, dl
mov al, byte [ebp - 0x6e]
xor al, 0xff
and al, 0
mov dl, byte [ebp - 0x4a]
xor dl, 0
mov bh, byte [ebp - 0x6e]
and bh, dl
mov bl, byte [ebp - 0x4a]
xor bl, 1
and bl, 0
and dl, 1
or al, bh
or bl, dl
xor al, bl
xor cl, 0xff
mov dl, al
xor dl, cl
and dl, al
mov al, ah
xor al, 0xff
mov cl, ch
xor cl, 0xff
mov bl, byte [ebp - 0x4a]
xor bl, 1
or al, cl
or bl, 1
xor al, 0xff
and al, bl
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, byte [ebp - 0x4a]
xor bl, 1
and ah, bl
mov bh, ch
xor bh, 0xff
and bh, 0xff
and ch, bl
or cl, ah
or bh, ch
xor cl, bh
mov ah, al
and ah, cl
xor al, cl
or ah, al
mov al, dh
xor al, 0xff
and al, 1
mov cl, byte [ebp - 0x4a]
xor cl, 1
mov ch, dh
and ch, cl
or al, ch
mov cl, dl
xor cl, 0xff
and cl, 1
mov ch, byte [ebp - 0x4a]
xor ch, 1
mov bl, dl
and bl, ch
or cl, bl
mov ch, byte [ebp - 0x4a]
xor ch, 0
and ch, 1
mov bl, byte [ebp - 0x4a]
xor bl, 1
mov bh, bl
and bh, 0
mov byte [ebp - 0x6f], al
mov al, byte [ebp - 0x4a]
xor al, 1
and al, 0xff
and bl, 1
or ch, bh
or al, bl
xor ch, al
mov al, byte [ebp - 0x6f]
xor al, 0xff
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov bh, byte [ebp - 0x4a]
xor bh, 0
or al, bl
or bh, 0
xor al, 0xff
and al, bh
xor dh, 0xff
mov bl, ch
xor bl, 0xff
mov bh, byte [ebp - 0x4a]
xor bh, 0
or dh, bl
or bh, 0
xor dh, 0xff
and dh, bh
mov bl, cl
xor bl, 0xff
mov bh, byte [ebp - 0x4a]
xor bh, 0
mov byte [ebp - 0x70], al
mov al, byte [ebp - 0x4a]
xor al, 0
or bl, bh
or al, 0
xor bl, 0xff
and bl, al
mov al, ch
xor al, 0xff
mov bh, dl
xor bh, al
and bh, dl
mov al, byte [ebp - 0x70]
xor al, 0xff
mov dl, dh
xor dl, 0xff
mov byte [ebp - 0x71], al
mov al, byte [ebp - 0x4a]
xor al, 1
mov byte [ebp - 0x72], al
mov al, byte [ebp - 0x71]
and al, 0xff
mov byte [ebp - 0x73], al
mov al, byte [ebp - 0x70]
mov byte [ebp - 0x74], cl
mov cl, byte [ebp - 0x72]
and al, cl
mov cl, dl
and cl, 0xff
mov byte [ebp - 0x75], al
mov al, byte [ebp - 0x72]
and dh, al
mov al, byte [ebp - 0x73]
mov byte [ebp - 0x76], cl
mov cl, byte [ebp - 0x75]
or al, cl
mov cl, byte [ebp - 0x76]
or cl, dh
xor al, cl
mov cl, byte [ebp - 0x71]
or cl, dl
xor cl, 0xff
mov dl, byte [ebp - 0x72]
or dl, 1
and cl, dl
or al, cl
mov cl, bl
xor cl, 0xff
mov dl, bh
xor dl, 0xff
mov dh, byte [ebp - 0x4a]
xor dh, 1
mov byte [ebp - 0x77], cl
and cl, 0xff
and bl, dh
mov byte [ebp - 0x78], dl
and dl, 0xff
and bh, dh
or cl, bl
or dl, bh
xor cl, dl
mov dl, byte [ebp - 0x77]
mov bl, byte [ebp - 0x78]
or dl, bl
xor dl, 0xff
or dh, 1
and dl, dh
or cl, dl
mov dl, al
xor dl, 0xff
and dl, 1
mov dh, byte [ebp - 0x4a]
xor dh, 1
and al, dh
mov bh, cl
xor bh, 0xff
and bh, 0xff
and cl, dh
or dl, al
or bh, cl
xor dl, bh
mov al, byte [ebp - 0x6f]
mov cl, byte [ebp - 0x74]
and al, cl
mov dh, byte [ebp - 0x6f]
xor dh, cl
or al, dh
mov dh, al
xor dh, 0xff
and dh, 0
mov bh, byte [ebp - 0x4a]
xor bh, 0
and al, bh
mov cl, byte [ebp - 0x4a]
xor cl, 1
and cl, 0
and bh, 1
or dh, al
or cl, bh
xor dh, cl
mov al, ch
and al, 0
xor ch, 0
or al, ch
xor dh, 0xff
xor al, 0xff
mov cl, byte [ebp - 0x4a]
xor cl, 1
or dh, al
or cl, 1
xor dh, 0xff
and dh, cl
mov al, dl
xor al, 0xff
mov cl, dh
xor cl, 0xff
mov ch, byte [ebp - 0x4a]
xor ch, 1
mov bh, al
and bh, 0xff
and dl, ch
mov bl, cl
and bl, 0xff
and dh, ch
or bh, dl
or bl, dh
xor bh, bl
or al, cl
xor al, 0xff
or ch, 1
and al, ch
or bh, al
mov al, ah
xor al, 0xff
and al, 1
mov cl, byte [ebp - 0x4a]
xor cl, 1
mov dl, ah
and dl, cl
or al, dl
xor al, 0xff
mov cl, bh
xor cl, al
and cl, bh
mov al, bh
xor al, 0xff
and al, 1
mov dl, byte [ebp - 0x4a]
xor dl, 1
and bh, dl
mov ch, byte [ebp - 0x4a]
xor ch, 1
and ch, 0xff
and dl, 1
or al, bh
or ch, dl
xor al, ch
xor ah, 0xff
xor al, 0xff
mov dl, byte [ebp - 0x4a]
xor dl, 0
or ah, al
or dl, 0
xor ah, 0xff
and ah, dl
mov al, cl
xor al, 0xff
mov dl, ah
xor dl, 0xff
mov ch, byte [ebp - 0x4a]
xor ch, 1
mov dh, al
and dh, 0xff
and cl, ch
mov bl, dl
and bl, 0xff
and ah, ch
or dh, cl
or bl, ah
xor dh, bl
or al, dl
xor al, 0xff
or ch, 1
and al, ch
or dh, al
mov al, byte [ebp - 0x4c]
xor al, 0xff
and al, 1
mov cl, byte [ebp - 0x4a]
xor cl, 1
mov dl, byte [ebp - 0x4c]
and dl, cl
or al, dl
mov cl, byte [ebp - 0x54]
xor cl, 0xff
and cl, 0
mov dl, byte [ebp - 0x4a]
xor dl, 0
mov ah, byte [ebp - 0x54]
and ah, dl
mov ch, byte [ebp - 0x4a]
xor ch, 1
and ch, 0
and dl, 1
or cl, ah
or ch, dl
xor cl, ch
mov dl, byte [ebp - 0x4a]
xor dl, 0
and dl, 1
mov ah, byte [ebp - 0x4a]
xor ah, 1
and ah, 0
or dl, ah
mov ah, byte [ebp - 0x4a]
xor ah, 0
mov ch, al
xor ch, ah
and ch, al
mov ah, dl
xor ah, 0xff
mov bl, byte [ebp - 0x4c]
xor bl, ah
mov ah, byte [ebp - 0x4c]
and bl, ah
mov bh, byte [ebp - 0x4a]
xor bh, 0
mov ah, cl
xor ah, bh
and ah, cl
mov bh, dl
xor bh, 0xff
mov byte [ebp - 0x79], al
mov al, byte [ebp - 0x54]
xor al, bh
mov bh, byte [ebp - 0x54]
and al, bh
mov bh, ch
and bh, bl
xor ch, bl
or bh, ch
mov ch, ah
and ch, al
xor ah, al
or ch, ah
mov al, bh
xor al, 0xff
mov ah, ch
and ah, al
xor ch, 0xff
and bh, ch
or ah, bh
mov al, byte [ebp - 0x79]
and al, cl
mov ch, byte [ebp - 0x79]
xor ch, cl
or al, ch
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, byte [ebp - 0x4a]
xor ch, 1
and al, ch
mov bl, byte [ebp - 0x4a]
xor bl, 1
and bl, 0xff
and ch, 1
or cl, al
or bl, ch
xor cl, bl
mov al, dl
and al, 0
xor dl, 0
or al, dl
xor al, 0xff
mov dl, cl
xor dl, al
and dl, cl
mov al, ah
and al, dl
xor ah, dl
or al, ah
mov cl, al
xor cl, 0xff
and cl, 0
mov dl, byte [ebp - 0x4a]
xor dl, 0
mov ah, al
and ah, dl
mov ch, byte [ebp - 0x4a]
xor ch, 1
and ch, 0
and dl, 1
or cl, ah
or ch, dl
xor cl, ch
xor cl, 0xff
xor cl, 0
and cl, 0
mov dl, byte [ebp - 0x4a]
xor dl, 0
and dl, 0
mov ah, byte [ebp - 0x4a]
xor ah, 0
mov ch, ah
and ch, 0
mov bl, byte [ebp - 0x4a]
xor bl, 1
and bl, 0
and ah, 1
or dl, ch
or bl, ah
xor dl, bl
mov ah, dl
xor ah, 0xff
mov ch, al
xor ch, ah
and ch, al
mov al, byte [ebp - 0x4a]
xor al, 1
and al, 0
mov ah, byte [ebp - 0x4a]
xor ah, 0
mov bl, ah
and bl, 1
mov bh, byte [ebp - 0x4a]
xor bh, 1
and bh, 0
and ah, 1
or al, bl
or bh, ah
xor al, bh
xor al, 0xff
mov ah, byte [ebp - 0x4a]
xor ah, 0
mov bl, byte [ebp - 0x4a]
xor bl, 0
or al, ah
or bl, 0
xor al, 0xff
and al, bl
xor dl, 0xff
xor dl, 1
and dl, 0xff
mov ah, cl
xor ah, 0xff
mov bl, ch
xor bl, 0xff
mov bh, byte [ebp - 0x4a]
xor bh, 1
mov byte [ebp - 0x7a], ah
and ah, 0xff
and cl, bh
mov byte [ebp - 0x7b], bl
and bl, 0xff
and ch, bh
or ah, cl
or bl, ch
xor ah, bl
mov cl, byte [ebp - 0x7a]
mov ch, byte [ebp - 0x7b]
or cl, ch
xor cl, 0xff
or bh, 1
and cl, bh
or ah, cl
mov cl, al
and cl, dl
xor al, dl
or cl, al
mov al, ah
xor al, 0xff
mov dl, cl
and dl, al
xor cl, 0xff
and ah, cl
or dl, ah
mov al, byte [ebp - 0x5e]
xor al, 0xff
xor al, 1
and al, 0xff
mov cl, byte [ebp - 0x4a]
xor cl, 1
mov ah, byte [ebp - 0x5e]
and ah, cl
mov cl, byte [ebp - 0x5e]
xor cl, 0xff
and cl, 1
or ah, cl
mov cl, al
and cl, ah
xor al, ah
or cl, al
mov al, cl
xor al, 0xff
and al, 1
mov ah, byte [ebp - 0x4a]
xor ah, 1
and cl, ah
or al, cl
mov cl, dl
xor cl, 0xff
mov ah, al
and ah, cl
xor al, 0xff
mov cl, dl
and cl, al
or ah, cl
xor ah, 0xff
xor dl, 0xff
mov al, byte [ebp - 0x4a]
xor al, 0
or ah, dl
or al, 0
xor ah, 0xff
and ah, al
mov al, dh
xor al, 0xff
and al, 1
mov cl, byte [ebp - 0x4a]
xor cl, 1
mov dl, dh
and dl, cl
or al, dl
mov cl, ah
xor cl, 0xff
and cl, 0
mov dl, byte [ebp - 0x4a]
xor dl, 0
mov bl, ah
and bl, dl
mov bh, byte [ebp - 0x4a]
xor bh, 1
and bh, 0
and dl, 1
or cl, bl
or bh, dl
xor cl, bh
mov dl, byte [ebp - 0x4a]
xor dl, 0
and dl, 1
mov bl, byte [ebp - 0x4a]
xor bl, 1
and bl, 0
or dl, bl
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov bh, al
xor bh, bl
and bh, al
mov bl, dl
xor bl, 0xff
mov ch, dh
xor ch, bl
and ch, dh
mov dh, cl
xor dh, 0xff
mov bl, byte [ebp - 0x4a]
xor bl, 0
mov byte [ebp - 0x7c], al
mov al, byte [ebp - 0x4a]
xor al, 0
or dh, bl
or al, 0
xor dh, 0xff
and dh, al
xor ah, 0xff
mov al, dl
xor al, 0xff
mov bl, byte [ebp - 0x4a]
xor bl, 0
or ah, al
or bl, 0
xor ah, 0xff
and ah, bl
mov al, bh
and al, ch
xor bh, ch
or al, bh
mov ch, dh
xor ch, 0xff
mov bl, ah
xor bl, 0xff
mov bh, byte [ebp - 0x4a]
xor bh, 0
mov byte [ebp - 0x7d], ch
and ch, 0
and dh, bh
mov byte [ebp - 0x7e], bl
and bl, 0
and ah, bh
or ch, dh
or bl, ah
xor ch, bl
mov ah, byte [ebp - 0x7d]
mov dh, byte [ebp - 0x7e]
or ah, dh
xor ah, 0xff
or bh, 0
and ah, bh
or ch, ah
mov ah, al
xor ah, 0xff
mov bl, ch
and bl, ah
xor ch, 0xff
and al, ch
or bl, al
mov al, byte [ebp - 0x7c]
and al, cl
mov ah, byte [ebp - 0x7c]
xor ah, cl
or al, ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ah, byte [ebp - 0x4a]
xor ah, 1
and al, ah
or cl, al
mov al, dl
and al, 0
xor dl, 0
or al, dl
xor cl, 0xff
xor al, 0xff
mov dl, byte [ebp - 0x4a]
xor dl, 0
or cl, al
or dl, 0
xor cl, 0xff
and cl, dl
mov al, bl
and al, cl
xor bl, cl
or al, bl
test al, 1
mov esi, 0x62ffcb76
mov edi, 0x61955a1a
cmovne edi, esi
mov dword [ebp - 0x28], edi
jmp 0x40b19a
mov dword [ebp - 0x28], 0xfa15c817
jmp 0x40b19a
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x28], 0x370ba2d2
jmp 0x40b19a
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x19], 1
mov dword [ebp - 0x28], 0x370ba2d2
jmp 0x40b19a
mov al, byte [ebp - 0x19]
and al, 1
movzx eax, al
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
mov dword [ebp - 0x84], eax
call fcn.00419261
mov eax, dword [ebp - 0x84]
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0041925c
mov dword [ebp - 0x28], 0x57b41c3f
jmp 0x40a0cd