Function at 0x40f190
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff18
call fcn.004100f0
mov edx, dword [ebp + 8]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], edx
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x74], eax
call fcn.00410ad0
sub esp, 4
lea ecx, [esp + 0xc0]
mov dword [esp], ecx
mov dword [esp + 0x70], eax
call fcn.0040e9c0
mov eax, esp
lea ecx, [esp + 0xc0]
call fcn.00410100
lea ecx, [esp + 0xb0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
call fcn.0040ea80
sub esp, 8
lea eax, [esp + 0xb0]
mov ecx, dword [esp + 0x74]
add ecx, 0xc
mov edx, esp
lea esi, [esp + 0xa8]
mov dword [edx], esi
mov dword [esp + 0x6c], eax
call fcn.00412740
sub esp, 4
lea eax, [esp + 0xa8]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x6c]
call fcn.004797e0
sub esp, 4
mov byte [esp + 0x6b], al
mov al, byte [esp + 0x6b]
test al, 1
jne 0x40f26e
jmp 0x40f78b
lea ecx, [esp + 0xb0]
call fcn.004129c0
mov dword [esp + 0x64], eax
mov eax, 0x10
mov eax, esp
lea ecx, [esp + 0xc0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
call fcn.00554d80
sub esp, 4
mov dword [esp + 0x60], eax
lea ecx, [esp + 0xb0]
call fcn.004129c0
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
add eax, 0x18
mov ecx, dword [esp + 0xe0]
mov edx, esp
call fcn.00410110
mov ecx, eax
call fcn.00554d80
sub esp, 4
mov dword [esp + 0x58], eax
mov al, 1
mov ecx, 0
call fcn.00410120
call fcn.00410130
mov edi, edx
sub edi, 0x915cde4c
sub edi, 0x1e835606
add edi, 0x915cde4c
mov ebx, edx
mov ebx, ecx
add ebx, 0xffffffff
add edi, ebx
mov ebx, ecx
sub ebx, edi
mov edi, ecx
add edi, 0xe17ca9fa
add ebx, edi
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 0
mov byte [esp + 0x57], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esp + 0x57]
xor bl, 0
mov bh, byte [esp + 0x57]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
xor ah, 1
mov bl, dh
xor bl, 1
mov bh, byte [esp + 0x57]
xor bh, 0
or ah, bl
or bh, 0
xor ah, 1
and ah, bh
mov bl, dl
xor bl, 1
mov bh, byte [esp + 0x57]
xor bh, 0
mov byte [esp + 0x56], al
mov al, byte [esp + 0x57]
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, cl
xor bh, al
and bh, cl
mov al, byte [esp + 0x56]
and al, ah
mov cl, byte [esp + 0x56]
xor cl, ah
or al, cl
mov cl, bl
xor cl, 1
mov ah, bh
xor ah, 1
mov byte [esp + 0x55], al
mov al, byte [esp + 0x57]
xor al, 1
mov byte [esp + 0x54], al
mov al, cl
and al, 1
mov byte [esp + 0x53], al
mov al, byte [esp + 0x54]
and bl, al
mov al, ah
and al, 1
mov byte [esp + 0x52], al
mov al, byte [esp + 0x54]
and bh, al
mov al, byte [esp + 0x53]
or al, bl
mov bl, byte [esp + 0x52]
or bl, bh
xor al, bl
or cl, ah
xor cl, 1
mov ah, byte [esp + 0x54]
or ah, 1
and cl, ah
or al, cl
mov cl, byte [esp + 0x55]
xor cl, 1
and cl, 1
mov ah, byte [esp + 0x57]
xor ah, 1
mov bl, byte [esp + 0x55]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esp + 0x57]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esp + 0x51], al
mov al, ah
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esp + 0x51]
or al, ah
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov dl, byte [esp + 0x57]
xor dl, 1
and bh, dl
or al, bh
mov dl, dh
and dl, 0
xor dh, 0
or dl, dh
xor al, 1
xor dl, 1
mov ah, byte [esp + 0x57]
xor ah, 0
or al, dl
or ah, 0
xor al, 1
and al, ah
mov dl, cl
and dl, al
xor cl, al
or dl, cl
test dl, 1
jne 0x40f4f6
jmp 0x4100d4
mov al, 1
mov ecx, 0xe232af81
mov edx, dword [0x80a094]
call fcn.00410140
add ecx, 0
sub ecx, 1
sub ecx, 0xe232af81
mov edi, edx
sub edi, 0x6b09e9db
add edi, ecx
add edi, 0x6b09e9db
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 1
mov ch, al
xor ch, 1
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 1
and dl, 1
mov ch, al
xor ch, 1
and ch, 1
or dl, ch
mov ch, al
xor ch, 1
mov dh, bh
xor dh, ch
and dh, bh
xor ah, 1
mov ch, dl
xor ch, 1
mov byte [esp + 0x50], al
xor al, 0
or ah, ch
or al, 0
xor ah, 1
and ah, al
mov al, byte [esp + 0x50]
xor al, 1
mov ch, cl
xor ch, al
and ch, cl
xor bl, 1
mov al, dl
xor al, 1
mov byte [esp + 0x4f], al
mov al, byte [esp + 0x50]
xor al, 1
mov byte [esp + 0x4e], al
mov al, byte [esp + 0x4f]
or bl, al
mov al, byte [esp + 0x4e]
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov byte [esp + 0x4d], al
mov al, ah
xor al, 1
mov byte [esp + 0x4c], al
mov al, byte [esp + 0x50]
xor al, 0
mov byte [esp + 0x4b], al
mov al, byte [esp + 0x4d]
and al, 0
mov byte [esp + 0x4a], al
mov al, byte [esp + 0x4b]
and dh, al
mov al, byte [esp + 0x4c]
and al, 0
mov byte [esp + 0x49], al
mov al, byte [esp + 0x4b]
and ah, al
mov al, byte [esp + 0x4a]
or al, dh
mov dh, byte [esp + 0x49]
or dh, ah
xor al, dh
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4c]
or ah, dh
xor ah, 1
mov dh, byte [esp + 0x4b]
or dh, 0
and ah, dh
or al, ah
mov ah, ch
xor ah, 1
mov dh, bl
xor dh, 1
mov byte [esp + 0x48], al
mov al, byte [esp + 0x50]
xor al, 0
mov byte [esp + 0x47], al
mov al, ah
and al, 0
mov byte [esp + 0x46], al
mov al, byte [esp + 0x47]
and ch, al
mov al, dh
and al, 0
mov byte [esp + 0x45], al
mov al, byte [esp + 0x47]
and bl, al
mov al, byte [esp + 0x46]
or al, ch
mov ch, byte [esp + 0x45]
or ch, bl
xor al, ch
or ah, dh
xor ah, 1
mov ch, byte [esp + 0x47]
or ch, 0
and ah, ch
or al, ah
mov ah, byte [esp + 0x48]
xor ah, 1
mov ch, al
and ch, ah
xor al, 1
mov ah, byte [esp + 0x48]
and ah, al
or ch, ah
mov al, bh
xor al, 1
mov ah, cl
xor ah, 1
mov dh, byte [esp + 0x50]
xor dh, 0
mov bl, al
and bl, 0
and bh, dh
mov byte [esp + 0x44], al
mov al, ah
and al, 0
and cl, dh
or bl, bh
or al, cl
xor bl, al
mov al, byte [esp + 0x44]
or al, ah
xor al, 1
or dh, 0
and al, dh
or bl, al
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esp + 0x50]
xor cl, 1
and bl, cl
mov ah, byte [esp + 0x50]
xor ah, 1
and ah, 1
and cl, 1
or al, bl
or ah, cl
xor al, ah
mov cl, byte [esp + 0x50]
xor cl, 1
mov ah, dl
xor ah, 1
mov dh, byte [esp + 0x50]
xor dh, 0
mov bl, cl
and bl, 0
mov bh, dh
and bh, 1
mov byte [esp + 0x43], al
mov al, ah
and al, 0
and dl, dh
or bl, bh
or al, dl
xor bl, al
or cl, ah
xor cl, 1
or dh, 0
and cl, dh
or bl, cl
xor bl, 1
mov al, byte [esp + 0x43]
xor al, bl
mov cl, byte [esp + 0x43]
and al, cl
mov dl, ch
xor dl, 1
mov ah, al
xor ah, 1
mov dh, byte [esp + 0x50]
xor dh, 0
mov bl, dl
and bl, 0
and ch, dh
mov bh, ah
and bh, 0
and al, dh
or bl, ch
or bh, al
xor bl, bh
or dl, ah
xor dl, 1
or dh, 0
and dl, dh
or bl, dl
test bl, 1
jne 0x40f786
jmp 0x4100d4
jmp 0x4100be
mov eax, dword [esp + 0x74]
sub eax, 0xfffffff4
mov ecx, dword [esp + 0xe0]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [edx], ecx
mov dword [edx + 8], 0
lea ecx, [esp + 0x78]
mov dword [esp + 0x3c], eax
call fcn.00479b40
sub esp, 0xc
mov dword [esp + 0x38], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov esi, dword [0x80a090]
sub ecx, 1
add ecx, 0
mov edi, edx
sub edi, 0x999b25f7
add edi, ecx
add edi, 0x999b25f7
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 0
mov cl, al
xor cl, 0
mov ch, ah
and ch, cl
mov dl, al
xor dl, 1
and dl, 0
and cl, 1
or bh, ch
or dl, cl
xor bh, dl
mov cl, bl
xor cl, 1
and cl, 0
mov dl, al
xor dl, 0
mov ch, bl
and ch, dl
mov dh, al
xor dh, 1
and dh, 0
and dl, 1
or cl, ch
or dh, dl
xor cl, dh
mov dl, al
xor dl, 1
and dl, 0
mov ch, al
xor ch, 0
mov dh, ch
and dh, 1
mov byte [esp + 0x37], al
xor al, 1
and al, 0
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, byte [esp + 0x37]
xor al, 1
mov ch, bh
xor ch, al
and ch, bh
xor ah, 1
mov al, dl
xor al, 1
mov dh, byte [esp + 0x37]
xor dh, 1
or ah, al
or dh, 1
xor ah, 1
and ah, dh
mov al, byte [esp + 0x37]
xor al, 1
mov dh, cl
xor dh, al
and dh, cl
xor bl, 1
mov al, dl
xor al, 1
mov byte [esp + 0x36], al
mov al, byte [esp + 0x37]
xor al, 1
mov byte [esp + 0x35], al
mov al, byte [esp + 0x36]
or bl, al
mov al, byte [esp + 0x35]
or al, 1
xor bl, 1
and bl, al
mov al, ch
and al, ah
xor ch, ah
or al, ch
mov ah, dh
xor ah, 1
mov ch, bl
xor ch, 1
mov byte [esp + 0x34], al
mov al, byte [esp + 0x37]
xor al, 1
mov byte [esp + 0x33], al
mov al, ah
and al, 1
mov byte [esp + 0x32], al
mov al, byte [esp + 0x33]
and dh, al
mov al, ch
and al, 1
mov byte [esp + 0x31], al
mov al, byte [esp + 0x33]
and bl, al
mov al, byte [esp + 0x32]
or al, dh
mov dh, byte [esp + 0x31]
or dh, bl
xor al, dh
or ah, ch
xor ah, 1
mov ch, byte [esp + 0x33]
or ch, 1
and ah, ch
or al, ah
mov ah, byte [esp + 0x34]
xor ah, 1
and ah, 0
mov ch, byte [esp + 0x37]
xor ch, 0
mov dh, byte [esp + 0x34]
and dh, ch
mov bl, al
xor bl, 1
and bl, 0
and al, ch
or ah, dh
or bl, al
xor ah, bl
mov al, bh
and al, cl
xor bh, cl
or al, bh
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esp + 0x37]
xor ch, 1
and al, ch
or cl, al
mov al, byte [esp + 0x37]
xor al, 1
mov ch, dl
xor ch, 1
mov dh, byte [esp + 0x37]
xor dh, 1
mov bl, al
and bl, 1
mov bh, dh
and bh, 1
mov byte [esp + 0x30], al
mov al, ch
and al, 1
and dl, dh
or bl, bh
or al, dl
xor bl, al
mov al, byte [esp + 0x30]
or al, ch
xor al, 1
or dh, 1
and al, dh
or bl, al
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x40f9c2
jmp 0x4100d9
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov esi, dword [0x80a090]
mov edi, edx
add edi, 0x87e3a80b
sub edi, 0x9fe53040
sub edi, 0x87e3a80b
sub edi, 0x4cb8afc6
sub edi, 1
add edi, 0x4cb8afc6
sub ecx, 0x601acfc0
add edi, ecx
imul edx, edi
and edx, 1
push eax
mov eax, 0x678dd127
xor eax, 0x678dd127
cmp edx, eax
pop eax
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 1
mov ch, al
xor ch, 1
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 0
and dl, 1
mov ch, al
xor ch, 1
and ch, 0
or dl, ch
mov ch, al
xor ch, 0
mov dh, bh
xor dh, ch
and dh, bh
xor ah, 1
mov ch, dl
xor ch, 1
mov byte [esp + 0x2f], al
xor al, 0
or ah, ch
or al, 0
xor ah, 1
and ah, al
mov al, byte [esp + 0x2f]
xor al, 0
mov ch, cl
xor ch, al
and ch, cl
xor bl, 1
mov al, dl
xor al, 1
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x2f]
xor al, 1
mov byte [esp + 0x2d], al
mov al, byte [esp + 0x2e]
or bl, al
mov al, byte [esp + 0x2d]
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov byte [esp + 0x2c], al
mov al, ah
xor al, 1
mov byte [esp + 0x2b], al
mov al, byte [esp + 0x2f]
xor al, 1
mov byte [esp + 0x2a], al
mov al, byte [esp + 0x2c]
and al, 1
mov byte [esp + 0x29], al
mov al, byte [esp + 0x2a]
and dh, al
mov al, byte [esp + 0x2b]
and al, 1
mov byte [esp + 0x28], al
mov al, byte [esp + 0x2a]
and ah, al
mov al, byte [esp + 0x29]
or al, dh
mov dh, byte [esp + 0x28]
or dh, ah
xor al, dh
mov ah, byte [esp + 0x2c]
mov dh, byte [esp + 0x2b]
or ah, dh
xor ah, 1
mov dh, byte [esp + 0x2a]
or dh, 1
and ah, dh
or al, ah
mov ah, ch
and ah, bl
xor ch, bl
or ah, ch
mov ch, al
xor ch, 1
and ch, 0
mov dh, byte [esp + 0x2f]
xor dh, 0
and al, dh
mov bl, ah
xor bl, 1
and bl, 0
and ah, dh
or ch, al
or bl, ah
xor ch, bl
mov al, bh
xor al, 1
mov ah, cl
xor ah, 1
mov dh, byte [esp + 0x2f]
xor dh, 1
mov bl, al
and bl, 1
and bh, dh
mov byte [esp + 0x27], al
mov al, ah
and al, 1
and cl, dh
or bl, bh
or al, cl
xor bl, al
mov al, byte [esp + 0x27]
or al, ah
xor al, 1
or dh, 1
and al, dh
or bl, al
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esp + 0x2f]
xor cl, 1
and bl, cl
or al, bl
mov cl, byte [esp + 0x2f]
xor cl, 0
mov ah, dl
xor ah, 1
mov dh, byte [esp + 0x2f]
xor dh, 1
mov bl, cl
and bl, 1
mov bh, dh
and bh, 0
mov byte [esp + 0x26], al
mov al, ah
and al, 1
and dl, dh
or bl, bh
or al, dl
xor bl, al
or cl, ah
xor cl, 1
or dh, 1
and cl, dh
or bl, cl
xor bl, 1
mov al, byte [esp + 0x26]
xor al, bl
mov cl, byte [esp + 0x26]
and al, cl
mov dl, ch
xor dl, 1
mov ah, al
xor ah, 1
mov dh, byte [esp + 0x2f]
xor dh, 1
mov bl, dl
and bl, 1
and ch, dh
mov bh, ah
and bh, 1
and al, dh
or bl, ch
or bh, al
xor bl, bh
or dl, ah
xor dl, 1
or dh, 1
and dl, dh
or bl, dl
test bl, 1
jne 0x40fc19
jmp 0x4100d9
mov eax, esp
lea ecx, [esp + 0x78]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
call fcn.00412f60
sub esp, 4
mov al, 1
mov ecx, 0
call fcn.00410150
mov esi, dword [0x80a090]
mov edi, edx
add edi, 0xfd67d6bc
sub edi, 0xcef6eb66
add edi, 0x2982944
sub ecx, 1
add edi, ecx
sub edi, 0x2dfbea09
add edi, 0xcef6eb66
sub edi, 0xd20415f7
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 1
mov ch, al
xor ch, 1
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 1
and dl, 1
mov ch, al
xor ch, 1
and ch, 1
or dl, ch
mov ch, al
xor ch, 1
mov dh, bh
xor dh, ch
and dh, bh
xor ah, 1
mov ch, dl
xor ch, 1
mov byte [esp + 0x25], al
xor al, 1
or ah, ch
or al, 1
xor ah, 1
and ah, al
mov al, byte [esp + 0x25]
xor al, 1
mov ch, cl
xor ch, al
and ch, cl
mov al, dl
xor al, 1
mov byte [esp + 0x24], al
mov al, bl
mov byte [esp + 0x23], cl
mov cl, byte [esp + 0x24]
xor al, cl
and al, bl
mov cl, dh
and cl, ah
xor dh, ah
or cl, dh
mov ah, ch
xor ah, 1
mov dh, al
xor dh, 1
mov bl, byte [esp + 0x25]
xor bl, 0
mov byte [esp + 0x22], al
mov al, ah
and al, 0
and ch, bl
mov byte [esp + 0x21], al
mov al, dh
and al, 0
mov byte [esp + 0x20], al
mov al, byte [esp + 0x22]
and al, bl
mov byte [esp + 0x1f], al
mov al, byte [esp + 0x21]
or al, ch
mov ch, byte [esp + 0x20]
mov byte [esp + 0x1e], al
mov al, byte [esp + 0x1f]
or ch, al
mov al, byte [esp + 0x1e]
xor al, ch
or ah, dh
xor ah, 1
or bl, 0
and ah, bl
or al, ah
mov ah, cl
xor ah, 1
and ah, 1
mov ch, byte [esp + 0x25]
xor ch, 1
and cl, ch
mov dh, al
xor dh, 1
and dh, 1
and al, ch
or ah, cl
or dh, al
xor ah, dh
mov al, bh
xor al, 1
mov cl, byte [esp + 0x23]
xor cl, 1
mov ch, byte [esp + 0x25]
xor ch, 1
mov dh, al
and dh, 1
and bh, ch
mov bl, cl
and bl, 1
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x23]
and al, ch
or dh, bh
or bl, al
xor dh, bl
mov al, byte [esp + 0x1d]
or al, cl
xor al, 1
or ch, 1
and al, ch
or dh, al
mov al, dh
xor al, 1
and al, 0
mov cl, byte [esp + 0x25]
xor cl, 0
and dh, cl
mov ch, byte [esp + 0x25]
xor ch, 1
and ch, 0
and cl, 1
or al, dh
or ch, cl
xor al, ch
mov cl, byte [esp + 0x25]
xor cl, 1
mov ch, dl
xor ch, 1
mov dh, byte [esp + 0x25]
xor dh, 1
mov bl, cl
and bl, 1
mov bh, dh
and bh, 1
mov byte [esp + 0x1c], al
mov al, ch
and al, 1
and dl, dh
or bl, bh
or al, dl
xor bl, al
or cl, ch
xor cl, 1
or dh, 1
and cl, dh
or bl, cl
xor bl, 1
mov al, byte [esp + 0x1c]
xor al, bl
mov cl, byte [esp + 0x1c]
and al, cl
mov dl, ah
xor dl, 1
mov ch, al
xor ch, 1
mov dh, byte [esp + 0x25]
xor dh, 1
mov bl, dl
and bl, 1
and ah, dh
mov bh, ch
and bh, 1
and al, dh
or bl, ah
or bh, al
xor bl, bh
or dl, ch
xor dl, 1
or dh, 1
and dl, dh
or bl, dl
test bl, 1
jne 0x40fe79
jmp 0x4100de
lea ecx, [esp + 0x78]
call fcn.004133c0
mov al, 1
mov ecx, 0
call fcn.00410160
mov esi, dword [0x80a090]
mov edi, edx
add edi, 0x5d11a662
add edi, 0xd15f3438
add edi, 0xa2ee599e
add edi, 0x435aa7ff
sub edi, 1
sub edi, 0x435aa7ff
mov ebx, ecx
sub ebx, edi
mov edi, ecx
sub edi, 0x2ea0cbc8
add ebx, edi
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esp + 0x1b], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esp + 0x1b]
xor bl, 1
mov bh, byte [esp + 0x1b]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
xor ah, 1
mov bl, dh
xor bl, 1
mov bh, byte [esp + 0x1b]
xor bh, 1
or ah, bl
or bh, 1
xor ah, 1
and ah, bh
mov bl, dl
xor bl, 1
mov bh, byte [esp + 0x1b]
xor bh, 1
mov byte [esp + 0x1a], al
mov al, byte [esp + 0x1b]
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, cl
xor bh, al
and bh, cl
mov al, byte [esp + 0x1a]
xor al, 1
mov cl, ah
xor cl, 1
mov byte [esp + 0x19], al
mov al, byte [esp + 0x1b]
xor al, 1
mov byte [esp + 0x18], al
mov al, byte [esp + 0x19]
and al, 1
mov byte [esp + 0x17], al
mov al, byte [esp + 0x1a]
mov byte [esp + 0x16], cl
mov cl, byte [esp + 0x18]
and al, cl
mov cl, byte [esp + 0x16]
and cl, 1
mov byte [esp + 0x15], al
mov al, byte [esp + 0x18]
and ah, al
mov al, byte [esp + 0x17]
mov byte [esp + 0x14], cl
mov cl, byte [esp + 0x15]
or al, cl
mov cl, byte [esp + 0x14]
or cl, ah
xor al, cl
mov cl, byte [esp + 0x19]
mov ah, byte [esp + 0x16]
or cl, ah
xor cl, 1
mov ah, byte [esp + 0x18]
or ah, 1
and cl, ah
or al, cl
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov ah, al
xor ah, 1
and ah, 0
mov bl, byte [esp + 0x1b]
xor bl, 0
and al, bl
mov bh, cl
xor bh, 1
and bh, 0
and cl, bl
or ah, al
or bh, cl
xor ah, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esp + 0x1b]
xor dl, 0
and al, dl
mov ch, byte [esp + 0x1b]
xor ch, 1
and ch, 0
and dl, 1
or cl, al
or ch, dl
xor cl, ch
mov al, byte [esp + 0x1b]
xor al, 1
mov dl, dh
xor dl, 1
mov ch, byte [esp + 0x1b]
xor ch, 0
mov bl, al
and bl, 0
mov bh, ch
and bh, 1
mov byte [esp + 0x13], al
mov al, dl
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
mov al, byte [esp + 0x13]
or al, dl
xor al, 1
or ch, 0
and al, ch
or bl, al
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x4100b9
jmp 0x4100de
jmp 0x4100be
lea ecx, [esp + 0xc0]
call fcn.00506f10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
jmp 0x40f4f6
jmp 0x40f9c2
lea ecx, [esp + 0x78]
call fcn.004133c0
jmp 0x40fe79