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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov dword [esi + 0x48], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [0x651080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x65267c]
mov eax, dword [0x652678]
xor edi, edi
sub edi, ecx
xor edx, edx
sub edx, 0x6e28ca6a
add edi, edx
xor edx, edx
sub edx, edi
xor edi, edi
sub edi, 0xd0988bb4
add edx, edi
sub edx, 0xceb75f37
sub edx, 0x6e28ca6a
add edx, 0xceb75f37
xor edi, edi
sub edi, 0x89a2d6d7
add edx, edi
sub edx, 0x863cb249
sub edx, 1
add edx, 0x863cb249
xor edi, edi
sub edi, edx
xor edx, edx
sub edx, 0x89a2d6d7
add edi, edx
xor edx, edx
sub edx, edi
xor edi, edi
sub edi, 0x26bebe4b
sub edi, edx
add edi, 0x26bebe4b
mov ebx, 0xd8ec3640
add ebx, 0
sub ebx, 0xd0988bb4
sub ebx, 0xd8ec3640
xor edx, edx
sub edx, edi
xor edi, edi
sub edi, ebx
add edx, edi
xor edi, edi
sub edi, edx
xor edx, edx
sub edx, edi
add edx, 0
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x56], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x57], al
mov dword [esi + 0x50], 0x59e4dcb6
mov eax, dword [esi + 0x50]
mov dword [esi + 0x44], eax
sub eax, 0xd61a17bb
je 0x417639
jmp 0x41680b
mov eax, dword [esi + 0x44]
sub eax, 0x1249276
je 0x417557
jmp 0x41681e
mov eax, dword [esi + 0x44]
sub eax, 0x3aef2a99
je 0x4175a6
jmp 0x416831
mov eax, dword [esi + 0x44]
sub eax, 0x47e330e0
je 0x417563
jmp 0x416844
mov eax, dword [esi + 0x44]
sub eax, 0x59e4dcb6
je 0x416882
jmp 0x416857
mov eax, dword [esi + 0x44]
sub eax, 0x5f07bf8b
je 0x41724e
jmp 0x41686a
mov eax, dword [esi + 0x44]
sub eax, 0x6a59939b
je 0x41758e
jmp 0x41687d
jmp 0x417640
mov bl, byte [esi + 0x56]
mov dl, byte [esi + 0x57]
mov ah, bl
xor ah, 0xff
and ah, 1
mov cl, 1
xor cl, 1
mov al, bl
and al, cl
or ah, al
mov cl, 1
xor cl, 1
xor ah, 0xff
mov al, 1
xor al, 0
or cl, ah
or al, 0
xor cl, 0xff
and cl, al
mov ah, 1
xor ah, 1
and ah, 1
mov al, 1
xor al, 1
and al, 1
or ah, al
mov bh, bl
xor bh, 0xff
mov ch, ah
xor ch, 0xff
mov al, 1
xor al, 0
or bh, ch
or al, 0
xor bh, 0xff
and bh, al
mov byte [esi + 0x11], bh
mov al, 1
xor al, 1
and al, 1
mov ch, 1
xor ch, 1
and ch, 1
or al, ch
xor al, 0xff
mov dh, 1
xor dh, 1
mov ch, 1
xor ch, 1
or al, dh
or ch, 1
xor al, 0xff
and al, ch
mov byte [esi + 0x16], al
mov ch, 1
xor ch, 1
xor ah, 0xff
mov al, 1
xor al, 1
or ch, ah
or al, 1
xor ch, 0xff
and ch, al
mov ah, cl
xor ah, 0xff
xor bh, 0xff
mov dh, 1
xor dh, 0
mov al, ah
and al, 0
mov byte [esi + 0x12], al
and cl, dh
mov al, bh
and al, 0
mov byte [esi + 0x14], al
mov al, byte [esi + 0x11]
and al, dh
mov byte [esi + 0x13], al
mov al, byte [esi + 0x12]
or al, cl
mov cl, byte [esi + 0x13]
mov byte [esi + 0x15], al
mov al, byte [esi + 0x14]
or al, cl
mov cl, byte [esi + 0x15]
xor cl, al
mov al, byte [esi + 0x16]
or ah, bh
xor ah, 0xff
or dh, 0
and ah, dh
or cl, ah
mov ah, al
and ah, ch
xor al, ch
or ah, al
mov ch, cl
xor ch, 0xff
mov al, ah
and al, ch
xor ah, 0xff
and cl, ah
or al, cl
mov byte [esi + 0x2e], al
mov al, dl
xor al, 0xff
and al, 1
mov ah, 1
xor ah, 1
mov cl, dl
and cl, ah
or al, cl
xor al, 0xff
xor al, 1
and al, 0xff
mov cl, 1
xor cl, 1
and cl, 1
mov ah, 1
xor ah, 1
and ah, 1
or cl, ah
xor cl, 0xff
mov bh, dl
xor bh, cl
and bh, dl
mov ch, al
xor ch, 0xff
mov byte [esi + 0x17], ch
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
and ch, 0
and al, cl
mov dh, ah
and dh, 0
and bh, cl
or ch, al
mov al, byte [esi + 0x17]
or dh, bh
xor ch, dh
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
mov dh, 1
xor dh, 0
and dh, 1
mov al, 1
xor al, 1
and al, 0
or dh, al
xor dh, 0xff
xor dh, 1
and dh, 0xff
mov cl, 1
xor cl, 1
and cl, 1
mov al, 1
xor al, 1
and al, 1
or cl, al
mov byte [esi + 0x18], cl
mov ah, 1
xor ah, 0
xor cl, 0xff
mov al, 1
xor al, 1
or ah, cl
or al, 1
xor ah, 0xff
and ah, al
mov bh, 1
xor bh, 1
and bh, 1
mov al, 1
xor al, 1
and al, 1
or bh, al
mov al, 1
xor al, 1
mov cl, bh
xor cl, al
mov al, byte [esi + 0x18]
and cl, bh
mov byte [esi + 0x19], cl
mov bh, 1
xor bh, 1
xor al, 0xff
mov cl, 1
xor cl, 1
or bh, al
mov al, byte [esi + 0x19]
or cl, 1
xor bh, 0xff
and bh, cl
mov cl, dh
and cl, ah
xor dh, ah
mov ah, byte [esi + 0x2e]
or cl, dh
mov dh, al
and dh, bh
xor al, bh
or dh, al
mov bh, cl
xor bh, 0xff
mov al, dh
and al, bh
xor dh, 0xff
and cl, dh
or al, cl
mov byte [esi + 0x39], al
mov bh, 1
xor bh, 0
and bh, 1
mov cl, 1
xor cl, 1
and cl, 0
or bh, cl
mov dh, ah
xor dh, 0xff
mov cl, bh
and cl, dh
xor bh, 0xff
mov dh, ah
and dh, bh
or cl, dh
xor ah, 0xff
mov dh, cl
xor dh, ah
and dh, cl
mov bh, al
xor bh, 0xff
and bh, 1
mov ah, 1
xor ah, 1
mov cl, al
and cl, ah
or bh, cl
mov cl, bl
xor cl, 0xff
mov ah, bh
and ah, cl
xor bh, 0xff
mov cl, bl
and cl, bh
or ah, cl
xor ah, 0xff
xor bl, 0xff
mov cl, 1
xor cl, 1
or ah, bl
or cl, 1
xor ah, 0xff
and ah, cl
mov bh, 1
xor bh, 0
and bh, 1
mov cl, 1
xor cl, 1
and cl, 0
or bh, cl
mov bl, ch
xor bl, 0xff
mov cl, bh
and cl, bl
xor bh, 0xff
mov bl, ch
and bl, bh
or cl, bl
xor cl, 0xff
mov bh, ch
xor bh, 0xff
mov bl, 1
xor bl, 1
or cl, bh
or bl, 1
xor cl, 0xff
and cl, bl
mov byte [esi + 0x1e], cl
mov bl, al
xor bl, 0xff
and bl, 1
mov cl, 1
xor cl, 1
and al, cl
or bl, al
mov cl, dl
xor cl, 0xff
and cl, 0
mov al, 1
xor al, 0
mov byte [esi + 0x1a], al
mov bh, dl
and bh, al
mov al, bl
xor al, 0xff
and al, 0
mov byte [esi + 0x1b], al
mov al, byte [esi + 0x1a]
and bl, al
mov al, byte [esi + 0x1b]
or cl, bh
or al, bl
xor cl, al
xor cl, 0xff
xor dl, 0xff
mov al, 1
xor al, 1
or cl, dl
or al, 1
xor cl, 0xff
and cl, al
mov bl, dh
xor bl, 0xff
mov dl, ah
xor dl, 0xff
mov al, 1
xor al, 0
or bl, dl
or al, 0
xor bl, 0xff
and bl, al
mov al, dh
xor al, 0xff
and al, 1
mov bh, 1
xor bh, 1
and dh, bh
mov dl, ah
xor dl, 0xff
and dl, 0xff
and ah, bh
or al, dh
or dl, ah
xor al, dl
mov dl, bl
xor dl, 0xff
mov dh, al
xor dh, 0xff
mov ah, 1
xor ah, 0
mov bh, dl
and bh, 0
and bl, ah
mov byte [esi + 0x1c], bl
mov bl, dh
and bl, 0
and al, ah
mov byte [esi + 0x1d], al
mov al, byte [esi + 0x1c]
or bh, al
mov al, byte [esi + 0x1d]
or bl, al
mov al, byte [esi + 0x1e]
xor bh, bl
or dl, dh
xor dl, 0xff
or ah, 0
and dl, ah
or bh, dl
mov bl, al
xor bl, 0xff
and bl, 1
mov ah, 1
xor ah, 1
mov dl, al
and dl, ah
or bl, dl
mov dl, cl
xor dl, 0xff
and dl, 1
mov dh, 1
xor dh, 1
mov ah, cl
and ah, dh
or dl, ah
mov byte [esi + 0x26], dl
mov dl, 1
xor dl, 1
and dl, 1
mov ah, 1
xor ah, 1
and ah, 1
or dl, ah
mov byte [esi + 0x24], dl
mov dl, bl
xor dl, 0xff
mov ah, 1
xor ah, 1
mov dh, 1
xor dh, 1
or dl, ah
mov ah, byte [esi + 0x24]
or dh, 1
xor dl, 0xff
and dl, dh
xor ah, 0xff
mov dh, al
xor dh, ah
mov ah, byte [esi + 0x26]
and dh, al
mov al, 1
xor al, 1
xor ah, al
mov al, byte [esi + 0x26]
and ah, al
mov al, byte [esi + 0x24]
mov byte [esi + 0x1f], ah
xor cl, 0xff
xor al, 0xff
mov ah, 1
xor ah, 0
or cl, al
mov al, byte [esi + 0x1f]
or ah, 0
xor cl, 0xff
and cl, ah
mov ah, dl
and ah, dh
xor dl, dh
or ah, dl
mov dh, al
xor dh, 0xff
mov byte [esi + 0x23], dh
mov dl, cl
xor dl, 0xff
mov byte [esi + 0x22], dl
mov dl, 1
xor dl, 1
and dh, 0xff
and al, dl
mov byte [esi + 0x20], al
mov al, byte [esi + 0x22]
and al, 0xff
mov byte [esi + 0x21], al
mov al, byte [esi + 0x20]
and cl, dl
or dh, al
mov al, byte [esi + 0x21]
or al, cl
mov cl, byte [esi + 0x22]
xor dh, al
mov al, byte [esi + 0x23]
or al, cl
mov cl, byte [esi + 0x24]
xor al, 0xff
or dl, 1
and al, dl
or dh, al
mov dl, ah
xor dl, 0xff
and dl, 0
mov al, 1
xor al, 0
and ah, al
mov byte [esi + 0x25], ah
mov ah, dh
xor ah, 0xff
and ah, 0
and dh, al
mov al, byte [esi + 0x25]
or dl, al
mov al, byte [esi + 0x26]
or ah, dh
xor dl, ah
mov byte [esi + 0x2d], dl
mov dh, bl
xor dh, 0xff
mov byte [esi + 0x29], dh
mov ah, al
xor ah, 0xff
mov dl, 1
xor dl, 1
and dh, 0xff
and bl, dl
mov byte [esi + 0x27], bl
mov bl, ah
and bl, 0xff
and al, dl
mov byte [esi + 0x28], al
mov al, byte [esi + 0x27]
or dh, al
mov al, byte [esi + 0x28]
or bl, al
mov al, byte [esi + 0x29]
xor dh, bl
or al, ah
xor al, 0xff
or dl, 1
and al, dl
or dh, al
mov dl, dh
xor dl, 0xff
and dl, 0
mov ah, 1
xor ah, 0
and dh, ah
mov al, 1
xor al, 1
and al, 0
and ah, 1
or dl, dh
or al, ah
xor dl, al
mov ah, 1
xor ah, 1
mov byte [esi + 0x2c], ah
mov bl, cl
xor bl, 0xff
mov dh, 1
xor dh, 0
and ah, 0
mov al, dh
and al, 1
mov byte [esi + 0x2a], al
mov al, bl
and al, 0
mov byte [esi + 0x2b], al
mov al, byte [esi + 0x2a]
and cl, dh
or ah, al
mov al, byte [esi + 0x2b]
or al, cl
mov cl, byte [esi + 0x2c]
xor ah, al
mov al, byte [esi + 0x2d]
or cl, bl
xor cl, 0xff
or dh, 0
and cl, dh
or ah, cl
xor ah, 0xff
mov cl, dl
xor cl, ah
and cl, dl
mov dh, al
and dh, cl
xor al, cl
or dh, al
mov dl, bh
xor dl, 0xff
and dl, 1
mov cl, 1
xor cl, 1
mov al, bh
and al, cl
or dl, al
mov al, dh
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
xor al, 0xff
and al, cl
mov dl, dh
xor dl, 0xff
and dl, 0
mov ah, 1
xor ah, 0
and dh, ah
mov cl, 1
xor cl, 1
and cl, 0
and ah, 1
or dl, dh
or cl, ah
xor dl, cl
xor bh, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 1
or bh, dl
or cl, 1
xor bh, 0xff
and bh, cl
mov dl, al
xor dl, 0xff
mov dh, bh
xor dh, 0xff
mov ah, 1
xor ah, 0
mov cl, dl
and cl, 0
and al, ah
mov bl, dh
and bl, 0
and bh, ah
or cl, al
mov al, byte [esi + 0x2e]
or bl, bh
xor cl, bl
or dl, dh
xor dl, 0xff
or ah, 0
and dl, ah
or cl, dl
mov byte [esi + 0x43], cl
mov dl, al
xor dl, 0xff
and dl, 1
mov ah, 1
xor ah, 1
mov cl, al
and cl, ah
or dl, cl
mov dh, ch
xor dh, 0xff
and dh, 1
mov ah, 1
xor ah, 1
mov cl, ch
and cl, ah
or dh, cl
mov ah, 1
xor ah, 0
and ah, 1
mov cl, 1
xor cl, 1
and cl, 0
or ah, cl
mov cl, dl
xor cl, 0xff
mov bh, 1
xor bh, 0
mov bl, 1
xor bl, 0
or cl, bh
or bl, 0
xor cl, 0xff
and cl, bl
mov byte [esi + 0x2f], cl
mov bl, ah
xor bl, 0xff
mov cl, al
xor cl, bl
and cl, al
mov bl, dh
xor bl, 0xff
mov al, 1
xor al, 0
mov bh, 1
xor bh, 0
or bl, al
mov al, byte [esi + 0x2f]
or bh, 0
xor bl, 0xff
and bl, bh
mov byte [esi + 0x34], bl
xor ch, 0xff
mov bh, ah
xor bh, 0xff
mov bl, 1
xor bl, 0
or ch, bh
or bl, 0
xor ch, 0xff
and ch, bl
mov byte [esi + 0x32], ch
mov bl, al
xor bl, 0xff
mov ch, cl
xor ch, 0xff
mov byte [esi + 0x33], ch
mov bh, 1
xor bh, 1
mov ch, bl
and ch, 0xff
and al, bh
mov byte [esi + 0x30], al
mov al, byte [esi + 0x33]
and al, 0xff
mov byte [esi + 0x31], al
mov al, byte [esi + 0x30]
and cl, bh
or ch, al
mov al, byte [esi + 0x31]
or al, cl
mov cl, byte [esi + 0x32]
xor ch, al
mov al, byte [esi + 0x33]
or bl, al
mov al, byte [esi + 0x34]
xor bl, 0xff
or bh, 1
and bl, bh
or ch, bl
mov bl, al
xor bl, 0xff
mov byte [esi + 0x37], bl
mov bh, cl
xor bh, 0xff
mov byte [esi + 0x38], bh
mov bh, 1
xor bh, 0
and bl, 0
and al, bh
mov byte [esi + 0x35], al
mov al, byte [esi + 0x38]
and al, 0
mov byte [esi + 0x36], al
mov al, byte [esi + 0x35]
and cl, bh
or bl, al
mov al, byte [esi + 0x36]
or al, cl
mov cl, byte [esi + 0x37]
xor bl, al
mov al, byte [esi + 0x38]
or cl, al
mov al, byte [esi + 0x39]
xor cl, 0xff
or bh, 0
and cl, bh
or bl, cl
mov bh, ch
xor bh, 0xff
mov cl, bl
and cl, bh
xor bl, 0xff
and ch, bl
or cl, ch
mov ch, dl
and ch, dh
xor dl, dh
or ch, dl
mov dl, ch
xor dl, 0xff
and dl, 1
mov dh, 1
xor dh, 1
and ch, dh
or dl, ch
mov ch, ah
and ch, 0
xor ah, 0
or ch, ah
xor dl, 0xff
xor ch, 0xff
mov ah, 1
xor ah, 1
or dl, ch
or ah, 1
xor dl, 0xff
and dl, ah
mov ah, cl
and ah, dl
xor cl, dl
or ah, cl
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
xor ch, 1
mov dh, ah
and dh, ch
mov dl, 1
xor dl, 1
and dl, 0xff
and ch, 1
or cl, dh
or dl, ch
xor cl, dl
xor cl, 0xff
xor cl, 1
and cl, 0xff
mov ch, 1
xor ch, 1
and ch, 1
mov dl, 1
xor dl, 1
and dl, 1
or ch, dl
xor ch, 0xff
mov dl, ah
xor dl, ch
and dl, ah
mov ah, cl
and ah, dl
xor cl, dl
or ah, cl
mov bh, 1
xor bh, 0
and bh, 1
mov dl, 1
xor dl, 1
mov ch, dl
and ch, 0
mov cl, 1
xor cl, 1
and cl, 0xff
and dl, 1
or bh, ch
or cl, dl
xor bh, cl
mov bl, al
xor bl, 0xff
and bl, 1
mov cl, 1
xor cl, 1
and al, cl
or bl, al
mov byte [esi + 0x3f], bl
mov dh, 1
xor dh, 1
and dh, 1
mov al, 1
xor al, 1
and al, 1
or dh, al
mov byte [esi + 0x3c], dh
mov al, bh
xor al, 0xff
mov dl, 1
xor dl, 1
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor al, 0xff
and al, cl
mov cl, dh
xor cl, 0xff
xor cl, 0
and cl, 0
mov dl, 1
xor dl, 1
mov ch, bl
xor ch, dl
mov dl, byte [esi + 0x39]
and ch, bl
mov byte [esi + 0x3e], ch
xor dl, 0xff
xor dh, 0xff
mov ch, 1
xor ch, 0
or dl, dh
or ch, 0
xor dl, 0xff
and dl, ch
mov ch, al
xor ch, 0xff
mov dh, cl
xor dh, 0xff
mov byte [esi + 0x3d], dh
mov dh, 1
xor dh, 1
mov bl, ch
and bl, 0xff
and al, dh
mov byte [esi + 0x3a], al
mov al, byte [esi + 0x3d]
and al, 0xff
mov byte [esi + 0x3b], al
mov al, byte [esi + 0x3a]
and cl, dh
or bl, al
mov al, byte [esi + 0x3b]
or al, cl
mov cl, byte [esi + 0x3c]
xor bl, al
mov al, byte [esi + 0x3d]
or ch, al
mov al, byte [esi + 0x3e]
xor ch, 0xff
or dh, 1
and ch, dh
or bl, ch
mov dh, al
and dh, dl
xor al, dl
or dh, al
mov dl, bl
xor dl, 0xff
and dl, 0
mov al, 1
xor al, 0
and bl, al
mov ch, dh
xor ch, 0xff
and ch, 0
and dh, al
mov al, byte [esi + 0x3f]
or dl, bl
or ch, dh
xor dl, ch
mov byte [esi + 0x42], dl
mov ch, bh
xor ch, 0xff
mov bl, al
xor bl, 0xff
mov dh, 1
xor dh, 1
mov dl, ch
and dl, 0xff
and bh, dh
mov byte [esi + 0x40], bh
mov bh, bl
and bh, 0xff
and al, dh
mov byte [esi + 0x41], al
mov al, byte [esi + 0x40]
or dl, al
mov al, byte [esi + 0x41]
or bh, al
mov al, byte [esi + 0x42]
xor dl, bh
or ch, bl
xor ch, 0xff
or dh, 1
and ch, dh
or dl, ch
mov bh, dl
xor bh, 0xff
and bh, 1
mov ch, 1
xor ch, 1
and dl, ch
or bh, dl
mov dl, cl
and dl, 1
xor cl, 1
or dl, cl
xor bh, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 0
or bh, dl
or cl, 0
xor bh, 0xff
and bh, cl
mov cl, al
xor cl, 0xff
mov ch, bh
xor ch, 0xff
mov dl, 1
xor dl, 1
mov dh, cl
and dh, 0xff
and al, dl
mov bl, ch
and bl, 0xff
and bh, dl
or dh, al
mov al, byte [esi + 0x43]
or bl, bh
xor dh, bl
or cl, ch
xor cl, 0xff
or dl, 1
and cl, dl
or dh, cl
mov ch, dh
xor ch, 0xff
and ch, 0
mov dl, 1
xor dl, 0
and dh, dl
mov cl, 1
xor cl, 1
and cl, 0
and dl, 1
or ch, dh
or cl, dl
xor ch, cl
mov dl, ah
xor dl, 0xff
and dl, 0
mov bl, 1
xor bl, 0
mov dh, ah
and dh, bl
mov cl, ch
xor cl, 0xff
and cl, 0
and ch, bl
or dl, dh
or cl, ch
xor dl, cl
xor ah, 0xff
mov cl, dl
xor cl, ah
and cl, dl
mov bl, al
xor bl, 0xff
mov ah, cl
xor ah, 0xff
mov dl, 1
xor dl, 1
or bl, ah
or dl, 1
xor bl, 0xff
and bl, dl
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
and al, cl
or dh, al
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, 0xd61a17bb
mov ecx, 0x5f07bf8b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x50], eax
jmp 0x417640
push eax
mov eax, esp
mov dword [esi + 0x58], eax
push eax
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x60], eax
mov eax, dword [0x65267c]
mov ecx, dword [0x652678]
xor edi, edi
sub edi, 0x9f716214
add edi, 0
mov edx, eax
sub edx, 0x39e69bb1
sub edx, edi
add edx, 0x39e69bb1
xor edi, edi
sub edi, 1
add edi, 0
add edx, 0x9e697f5e
add edx, edi
sub edx, 0x9e697f5e
xor ebx, ebx
sub ebx, 0xb7ee77c3
sub ebx, 0x9f716214
add ebx, 0xb7ee77c3
xor edi, edi
sub edi, ebx
sub edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl ch
mov ah, ch
xor ah, 0xff
and ah, 1
mov dl, 1
xor dl, 1
mov dh, ch
and dh, dl
mov cl, 1
xor cl, 1
and cl, 0xff
and dl, 1
or ah, dh
or cl, dl
xor ah, cl
mov cl, al
xor cl, 0xff
and cl, 0
mov bl, 1
xor bl, 0
mov dh, al
and dh, bl
mov dl, ah
xor dl, 0xff
and dl, 0
and ah, bl
or cl, dh
or dl, ah
xor cl, dl
xor cl, 0xff
mov ah, al
xor ah, 0xff
mov dl, 1
xor dl, 1
or cl, ah
or dl, 1
xor cl, 0xff
and cl, dl
mov byte [esi + 0xe], cl
mov bh, al
xor bh, 0xff
and bh, 0
mov dl, 1
xor dl, 0
mov ah, al
and ah, dl
mov cl, 1
xor cl, 1
and cl, 0
and dl, 1
or bh, ah
or cl, dl
xor bh, cl
xor bh, 0xff
xor bh, 1
and bh, 0xff
mov dl, 1
xor dl, 1
and dl, 1
mov cl, 1
xor cl, 1
and cl, 1
or dl, cl
xor al, 0xff
mov ah, dl
xor ah, 0xff
mov cl, 1
xor cl, 1
or al, ah
or cl, 1
xor al, 0xff
and al, cl
mov ah, ch
xor ah, 0xff
and ah, 1
mov dh, 1
xor dh, 1
mov cl, ch
and cl, dh
or ah, cl
xor ah, 0xff
mov dh, 1
xor dh, 1
mov cl, 1
xor cl, 1
or ah, dh
or cl, 1
xor ah, 0xff
and ah, cl
xor ch, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 1
or ch, dl
or cl, 1
xor ch, 0xff
and ch, cl
mov dl, bh
xor dl, 0xff
mov bl, al
xor bl, 0xff
mov dh, 1
xor dh, 1
mov cl, dl
and cl, 0xff
and bh, dh
mov byte [esi + 0xc], bh
mov bh, bl
and bh, 0xff
and al, dh
mov byte [esi + 0xd], al
mov al, byte [esi + 0xc]
or cl, al
mov al, byte [esi + 0xd]
or bh, al
mov al, byte [esi + 0xe]
xor cl, bh
or dl, bl
xor dl, 0xff
or dh, 1
and dl, dh
or cl, dl
mov dl, ah
and dl, ch
xor ah, ch
or dl, ah
mov ah, cl
xor ah, 0xff
mov dh, dl
and dh, ah
xor dl, 0xff
and cl, dl
or dh, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov ah, 1
xor ah, 1
mov dl, al
and dl, ah
or cl, dl
mov dl, dh
xor dl, 0xff
and dl, 1
mov ch, 1
xor ch, 1
mov bl, dh
and bl, ch
mov ah, 1
xor ah, 1
and ah, 0xff
and ch, 1
or dl, bl
or ah, ch
xor dl, ah
mov bh, 1
xor bh, 1
and bh, 1
mov ch, 1
xor ch, 1
mov bl, ch
and bl, 1
mov ah, 1
xor ah, 1
and ah, 0xff
and ch, 1
or bh, bl
or ah, ch
xor bh, ah
mov ch, cl
xor ch, 0xff
mov bl, 1
xor bl, 1
mov ah, 1
xor ah, 0
or ch, bl
or ah, 0
xor ch, 0xff
and ch, ah
mov ah, bh
xor ah, 0xff
mov bl, al
xor bl, ah
and bl, al
mov ah, 1
xor ah, 1
mov al, dl
xor al, ah
and al, dl
mov byte [esi + 0xf], al
mov al, bh
xor al, 0xff
mov ah, dh
xor ah, al
mov al, byte [esi + 0xf]
and ah, dh
mov dh, ch
and dh, bl
xor ch, bl
or dh, ch
mov ch, al
and ch, ah
xor al, ah
or ch, al
mov al, dh
xor al, 0xff
and al, 1
mov bl, 1
xor bl, 1
and dh, bl
mov ah, ch
xor ah, 0xff
and ah, 0xff
and ch, bl
or al, dh
or ah, ch
xor al, ah
mov byte [esi + 0x10], al
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, 1
xor dl, 1
and al, dl
or cl, al
mov dl, 1
xor dl, 1
mov dh, bh
xor dh, 0xff
mov ch, 1
xor ch, 1
mov ah, dl
and ah, 0xff
mov al, ch
and al, 1
mov bl, dh
and bl, 0xff
and bh, ch
or ah, al
mov al, byte [esi + 0x10]
or bl, bh
xor ah, bl
or dl, dh
xor dl, 0xff
or ch, 1
and dl, ch
or ah, dl
xor cl, 0xff
xor ah, 0xff
mov dl, 1
xor dl, 1
or cl, ah
or dl, 1
xor cl, 0xff
and cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd61a17bb
mov ecx, 0x1249276
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x50], eax
jmp 0x417640
mov dword [esi + 0x50], 0x47e330e0
jmp 0x417640
push eax
mov eax, esp
mov dword [esi + 0x64], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x68], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x50], 0x6a59939b
jmp 0x417640
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x70], eax
add eax, 0x18
mov dword [esi + 0x74], eax
mov dword [esi + 0x50], 0x3aef2a99
jmp 0x417640
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
add eax, 0x40
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [esi + 0x5c]
mov byte [eax], 0
mov ecx, dword [esi + 0x60]
lea eax, str.udqmxemgwnmgacpeszqwhfmcrtpqbdkyqhfxeusduymaklmyjo
sub esp, 4
mov dword [esp], eax
call fcn.0053a240
mov eax, dword [esi + 0x64]
mov byte [eax], 1
mov eax, dword [esi + 0x68]
vmovsd xmm0, qword [0x5f31b8]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x6c]
vmovsd xmm0, qword [0x5f31b0]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x60]
call fcn.0053b9d0
mov ecx, dword [esi + 0x70]
call fcn.0053b9d0
mov ecx, dword [esi + 0x74]
call fcn.0053b9d0
mov ecx, dword [esi + 4]
call fcn.0053b9d0
xor eax, eax
and al, 1
movzx eax, al
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.005e3af0
mov eax, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x70
mov dword [esi + 0x50], 0x5f07bf8b
jmp 0x4167f5