Function at 0x4065f0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
cmp dword [0x4787c8], 0
jne 0x407774
jmp 0x406608
mov al, byte [0x4741e0]
xor al, 0xe5
mov byte [0x474200], al
mov al, byte [0x4741e1]
mov cl, al
or cl, cl
xor cl, 0xff
or cl, 0xf8
xor cl, 0xff
xor al, 0xff
and al, 0xf8
or cl, al
xor cl, 0xff
mov byte [0x474201], cl
mov al, byte [0x4741e2]
xor al, 0x9f
mov byte [0x474202], al
mov al, byte [0x4741e3]
mov dl, al
xor dl, 0xff
and dl, 0xff
or dl, 0
mov cl, al
and cl, 0xff
shl cl, 1
mov ah, al
add ah, 0xff
sub ah, cl
mov cl, dl
xor cl, ah
xor cl, 0xff
or dl, ah
and dl, cl
mov cl, dl
and cl, 0x4f
xor dl, 0x4f
or cl, dl
xor cl, 0xff
xor al, 0xff
and al, 0xff
or al, 0
mov dl, al
xor dl, 0xb0
and dl, al
or cl, dl
mov al, cl
xor al, 0xff
xor al, 0xff
and al, 0xff
shl al, 1
sub al, 0xff
sub cl, al
mov byte [0x474203], cl
mov al, byte [0x4741e4]
mov cl, al
and cl, 0x65
shl cl, 1
add al, 0x65
sub al, cl
mov byte [0x474204], al
mov al, byte [0x4741e5]
mov cl, al
xor cl, 0xff
and cl, 0x89
and al, 0x76
or cl, al
mov byte [0x474205], cl
mov al, byte [0x4741e6]
mov cl, al
xor cl, 0xff
or cl, 0x7f
xor cl, 0xff
and cl, 0xff
shl cl, 1
add al, 0x80
sub al, cl
mov byte [0x474206], al
mov al, byte [0x4741e7]
mov cl, al
xor cl, 0xff
and cl, 0xdb
and al, 0x24
or cl, al
mov byte [0x474207], cl
mov al, byte [0x4741e8]
mov cl, al
and cl, 0x60
xor cl, 0xff
mov dl, al
xor dl, 0xff
or dl, 0x9f
xor cl, 0xff
xor dl, 0xff
or cl, dl
shl cl, 1
add al, 0x60
sub al, cl
mov byte [0x474208], al
mov al, byte [0x4741e9]
xor al, 0x10
mov byte [0x474209], al
mov al, byte [0x4741ea]
xor al, 0xa9
mov byte [0x47420a], al
mov al, byte [0x4741eb]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x89
xor cl, 0xff
and al, 0x76
xor al, 0xff
and cl, al
xor cl, 0xff
mov byte [0x47420b], cl
mov cl, byte [0x4741ec]
mov al, cl
xor al, 0xff
and al, 0xf
mov dl, cl
xor dl, 0xf0
xor dl, 0xff
or cl, 0xf0
and cl, dl
mov dl, cl
xor dl, 0xff
mov ah, al
and ah, dl
mov dl, al
xor dl, cl
add al, dl
sub al, ah
xor al, 0xbc
mov byte [0x47420c], al
mov al, byte [0x4741ed]
mov cl, al
xor cl, 0xff
and cl, 0xff
or cl, 0
and cl, 0xbd
and al, 0x42
or cl, al
mov byte [0x47420d], cl
mov al, byte [0x4741ee]
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0x8a
mov dl, al
xor dl, 0xff
and dl, 0x75
xor cl, 0xff
xor dl, 0xff
and cl, dl
xor cl, 0xff
xor cl, 0xff
xor cl, 0x8a
and cl, 0x8a
shl cl, 1
add cl, 0x2f
sub cl, 0x8a
sub cl, 0x2f
sub al, cl
mov byte [0x47420e], al
mov al, byte [0x4741ef]
xor al, 0x81
mov byte [0x47420f], al
mov al, byte [0x4741f0]
xor al, 0x77
mov byte [0x474210], al
mov cx, word [0x474220]
mov ax, cx
xor ax, 0xffff
and ax, 0x6e2c
mov dx, cx
xor dx, 0x6e2c
and dx, cx
mov cx, dx
xor cx, 0xffff
mov si, ax
and si, cx
mov cx, ax
xor cx, dx
add ax, cx
sub ax, si
xor ax, 0xc843
mov word [str.1V_bLLeAY], ax
mov ax, word [0x474222]
mov cx, ax
xor cx, 0x50dd
xor cx, 0xffff
and cx, 0x50dd
mov dx, cx
xor dx, 0xffff
mov si, dx
and si, 2
or dx, 2
xor dx, 0xffff
imul dx, si
mov si, cx
and si, 2
or cx, 2
imul cx, si
add cx, dx
sub cx, 0x50dd
sub ax, 0x4424
sub ax, cx
add ax, 0x4424
mov word [0x4742b2], ax
mov ax, word [0x474224]
mov cx, ax
xor cx, 0xffff
mov dx, ax
xor dx, 0xffff
and cx, dx
or cx, 0x11f9
xor cx, 0xffff
or ax, 0xee06
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
mov word [0x4742b4], cx
mov ax, word [0x474226]
mov cx, ax
xor cx, 0xe568
xor cx, 0xffff
and cx, 0xe568
shl cx, 1
sub cx, 0xe568
sub ax, cx
mov word [0x4742b6], ax
mov ax, word [0x474228]
xor ax, 0xd35b
mov word [0x4742b8], ax
mov ax, word [0x47422a]
xor ax, 0x8295
mov word [0x4742ba], ax
mov cx, word [0x47422c]
mov ax, cx
xor ax, 0xffff
and ax, 0xeab1
mov dx, cx
xor dx, 0xffff
or dx, 0xeab1
and cx, 0x154e
xor cx, 0xffff
and dx, cx
xor dx, 0xffff
or ax, dx
xor ax, 0xf6cb
mov word [0x4742bc], ax
mov ax, word [str.R_nL]
xor ax, 0xb19c
mov word [0x4742be], ax
mov cx, word [0x474230]
mov ax, cx
xor ax, 0xffff
mov dx, cx
xor dx, 0xffff
and ax, dx
xor ax, 0xffff
and ax, 0xffff
or ax, 0
xor ax, 0xffff
mov dx, cx
xor dx, 0xffff
mov si, cx
xor si, 0xffff
or dx, si
xor dx, 0xffff
or dx, 0
and dx, 0xffff
xor dx, 0xffff
and ax, dx
xor ax, 0xffff
or ax, ax
xor ax, 0xffff
or ax, 0xad35
xor ax, 0xffff
or cx, 0x52ca
xor cx, 0xffff
mov dx, ax
xor dx, 0xffff
xor dx, 0xffff
and dx, 0xffff
shl dx, 1
sub dx, 0xffff
sub ax, dx
mov dx, cx
xor dx, 0xffff
xor dx, 0xffff
and dx, 0xffff
shl dx, 1
sub dx, 0xffff
sub cx, dx
mov dx, ax
add dx, 1
xor ax, 0xffff
or ax, cx
add ax, dx
mov word [0x4742c0], ax
mov ax, word [0x474232]
mov cx, ax
and cx, 0x4c64
shl cx, 1
add ax, 0x4c64
sub ax, cx
mov word [0x4742c2], ax
mov ax, word [0x474234]
xor ax, 0x57bd
mov word [0x4742c4], ax
mov ax, word [0x474236]
xor ax, 0x1f6f
mov word [0x4742c6], ax
mov ax, word [0x474238]
mov cx, ax
xor cx, 0xffff
and cx, 0xf70b
and ax, 0x8f4
or cx, ax
xor cx, 0xc918
mov word [0x4742c8], cx
mov ax, word [0x47423a]
mov cx, ax
or cx, cx
xor cx, 0xffff
or cx, 0x816
xor cx, 0xffff
or ax, 0xf7e9
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
mov word [0x4742ca], cx
mov ax, word [0x47423c]
xor ax, 0x872b
mov word [0x4742cc], ax
mov ax, word [0x47423e]
xor ax, 0x151d
mov word [0x4742ce], ax
mov ax, word [0x474240]
mov cx, ax
and cx, 0xa00
shl cx, 1
add ax, 0xa00
sub ax, cx
mov word [0x4742d0], ax
mov cx, word [0x474242]
mov ax, cx
xor ax, 0xffff
mov dx, ax
xor dx, 0xfa50
xor dx, 0xffff
or ax, 0xfa50
and ax, dx
and cx, 0x5af
or ax, cx
xor ax, 0x1527
mov word [0x4742d2], ax
mov ax, word [0x474244]
mov cx, ax
and cx, 0xe6d1
shl cx, 1
sub ax, 0x192f
mov dx, ax
xor dx, cx
xor cx, 0xffff
and ax, cx
shl ax, 1
sub ax, dx
mov word [0x4742d4], ax
mov ax, word [0x474246]
mov cx, ax
and cx, cx
xor cx, 0xffff
and cx, 0x3c25
xor cx, 0xffff
mov dx, ax
and dx, 0xc3da
xor dx, 0xffff
xor cx, 0xffff
xor dx, 0xffff
or cx, dx
xor cx, 0xffff
or cx, cx
xor cx, 0xffff
or cx, 0xc3da
xor cx, 0xffff
mov si, cx
and si, 0xfffd
mov dx, cx
xor dx, 0xffff
and dx, 2
imul dx, si
mov si, cx
and si, 2
or cx, 2
imul cx, si
add cx, dx
sub cx, 0x3c25
sub ax, cx
mov word [0x4742d6], ax
mov ax, word [0x474248]
xor ax, 0xa6b9
mov word [0x4742d8], ax
mov ax, word [0x47424a]
xor ax, 0x8373
mov word [0x4742da], ax
mov cx, word [0x47424c]
mov dx, cx
add dx, 1
mov ax, cx
xor ax, 0xffff
or ax, 0xcd26
add ax, dx
mov dx, ax
xor dx, 0xffff
mov si, dx
and si, 2
or dx, 2
xor dx, 0xffff
imul dx, si
mov si, ax
and si, 2
or ax, 2
imul ax, si
add ax, dx
xor edx, edx
sub dx, cx
add dx, 0x32da
xor ecx, ecx
sub cx, dx
sub cx, ax
mov word [0x4742dc], cx
mov ax, word [0x47424e]
mov cx, ax
xor cx, 0xd757
xor cx, 0xffff
and cx, 0xd757
shl cx, 1
sub cx, 0xd757
sub ax, cx
mov word [0x4742de], ax
mov dx, word [0x474250]
mov ax, dx
xor ax, 0xffff
and ax, 0x560d
and dx, 0xa9f2
mov cx, ax
or cx, dx
xor cx, 0xffff
or ax, dx
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
xor cx, 0x2696
mov word [0x4742e0], cx
mov ax, word [0x474252]
mov cx, ax
xor cx, 0xffff
and cx, 0xc40c
and ax, 0x3bf3
or cx, ax
mov word [0x4742e2], cx
mov ax, word [0x474254]
mov cx, ax
xor cx, 0xffff
or cx, 0xaf84
add cx, 0x507c
and ax, 0xaf84
or cx, ax
mov word [0x4742e4], cx
mov cx, word [0x474256]
mov ax, cx
xor ax, 0xffff
or ax, ax
xor ax, 0xffff
xor ax, 0xffff
and ax, 0x12c6
xor cx, 0xffff
or cx, 0x12c6
xor cx, 0xffff
and cx, 0xffff
or ax, cx
mov cx, ax
xor cx, 0xffff
mov dx, ax
xor dx, 0xffff
or cx, dx
and cx, 0x9a3c
xor cx, 0xffff
and ax, 0x65c3
xor ax, 0xffff
and cx, ax
xor cx, 0xffff
mov word [0x4742e6], cx
mov ax, word [0x474258]
mov cx, ax
xor cx, cx
xor cx, 0xffff
mov dx, ax
or dx, dx
and dx, cx
xor dx, 0xffff
mov cx, dx
xor cx, 0xffff
xor cx, 0xffff
and cx, 0xffff
shl cx, 1
sub cx, 0xffff
sub dx, cx
mov cx, dx
or cx, 0x7c79
xor cx, 0xffff
xor dx, 0xffff
and dx, 0x8386
xor cx, 0xffff
xor dx, 0xffff
and cx, dx
xor ax, 0xffff
mov dx, ax
and dx, 0x8386
xor dx, 0xffff
add ax, 0x8386
add ax, 1
add ax, dx
or cx, cx
xor cx, 0xffff
or ax, ax
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
mov ax, cx
xor ax, 0xffff
and ax, 0xf055
and cx, 0xfaa
or ax, cx
xor ax, 0xfaa
mov word [0x4742e8], ax
mov ax, word [0x47425a]
xor ax, 0xa2c
mov word [0x4742ea], ax
mov ax, word [0x47425c]
mov cx, ax
and cx, 0x1aad
shl cx, 1
mov dx, ax
and dx, 0x1aad
or ax, 0x1aad
add dx, ax
sub dx, cx
mov word [0x4742ec], dx
mov ax, word [0x47425e]
xor ax, 0xcb68
mov word [0x4742ee], ax
mov ax, word [0x474260]
xor ax, 0x6485
mov word [0x4742f0], ax
mov ax, word [0x474262]
mov cx, ax
xor cx, 0xffff
and cx, 0x44d3
and ax, 0xbb2c
mov dx, cx
and dx, ax
xor cx, ax
or dx, cx
mov word [0x4742f2], dx
mov ax, word [0x474264]
mov cx, ax
xor cx, 0x8d39
xor cx, 0xffff
and cx, 0x8d39
shl cx, 1
sub cx, 0x8d39
sub ax, cx
mov word [0x4742f4], ax
mov ax, word [0x474266]
mov cx, ax
xor cx, 0x81d1
xor cx, 0xffff
and cx, 0x81d1
shl cx, 1
sub cx, 0x81d1
sub ax, cx
mov word [0x4742f6], ax
mov ax, word [0x474268]
mov dx, ax
xor dx, 0xffff
mov cx, ax
or cx, cx
xor cx, 0xffff
xor cx, 0xffff
and cx, 0xffff
or cx, 0
xor cx, 0xffff
or dx, cx
xor dx, 0xffff
mov cx, dx
xor cx, 0xffff
and cx, 0x308e
xor dx, 0xffff
and dx, 0x308e
or cx, dx
xor cx, 0xffff
xor ax, 0xffff
and ax, ax
xor ax, 0xffff
xor ax, 0xffff
or ax, 0x308e
xor ax, 0xffff
mov dx, cx
xor dx, ax
and dx, cx
xor dx, 0xffff
mov word [0x4742f8], dx
mov ax, word [0x47426a]
xor ax, 0x5f61
mov word [0x4742fa], ax
mov cx, word [0x47426c]
mov ax, cx
and ax, ax
xor ax, 0xffff
and ax, 0xffff
xor ax, 0xffff
xor ax, 0xffff
or ax, 0
mov dx, cx
xor dx, 0xffff
or ax, dx
mov dx, ax
and dx, 0xffff
shl dx, 1
add ax, 0xffff
sub ax, dx
or ax, 0xfb3c
xor cx, 0xffff
or cx, 0x4c3
and ax, cx
xor ax, 0xffff
and ax, 0xffff
or ax, 0
mov word [0x4742fc], ax
mov ax, word [0x47426e]
mov cx, ax
and cx, 0x5e65
shl cx, 1
add ax, 0x5e65
sub ax, cx
mov word [0x4742fe], ax
mov ax, word [0x474270]
xor ax, 0x401b
mov word [0x474300], ax
mov ax, word [0x474272]
mov cx, ax
xor cx, 0xffff
and cx, 0x7ba2
mov dx, ax
and dx, 0x845d
or cx, dx
xor cx, 0x845d
and cx, 0xea90
and ax, 0x156f
or cx, ax
mov word [0x474302], cx
mov ax, word [str.9_l5]
xor ax, 0x5d5d
mov word [0x474304], ax
mov ax, word [0x474276]
xor ax, 0x354c
mov word [0x474306], ax
mov ax, word [0x474278]
xor ax, 0x17cf
mov word [0x474308], ax
mov ax, word [0x47427a]
xor ax, 0xc6f1
mov word [0x47430a], ax
mov cx, word [0x47427c]
mov dx, cx
and dx, 0xffff
shl dx, 1
mov ax, cx
add ax, 0xffff
sub ax, dx
and ax, 0x826d
mov dx, cx
xor dx, 0xffff
xor cx, 0xffff
and dx, cx
or dx, 0x826d
xor dx, 0xffff
or ax, dx
mov word [0x47430c], ax
mov ax, word [0x47427e]
mov cx, ax
xor cx, 0xffff
and cx, 0x9bc0
and ax, 0x643f
or cx, ax
mov word [0x47430e], cx
mov ax, word [0x474280]
xor ax, 0x1e9
mov word [0x474310], ax
mov cx, word [0x474282]
mov ax, cx
xor ax, 0xffff
mov dx, cx
xor dx, 0xffff
and ax, dx
xor ax, 0xffff
mov dx, ax
add dx, 1
xor ax, 0xffff
or ax, 0xfc30
add ax, dx
xor cx, 0xffff
and cx, 0x3cf
xor ax, 0xffff
xor cx, 0xffff
mov dx, ax
add dx, 1
xor ax, 0xffff
or ax, cx
add ax, dx
mov word [0x474312], ax
mov ax, word [0x474284]
mov dx, ax
and dx, 0x522e
shl dx, 1
mov cx, ax
add cx, 0x522e
sub cx, dx
xor cx, 0xffff
and cx, 0x522e
shl cx, 1
sub cx, 0x522e
sub ax, cx
mov word [0x474314], ax
mov ax, word [0x474286]
mov dx, ax
xor dx, 0xe5c2
xor dx, 0xffff
and dx, 0xe5c2
shl dx, 1
sub dx, 0xe5c2
mov cx, ax
sub cx, dx
xor cx, 0xffff
and cx, 0xe5c2
shl cx, 1
sub cx, 0xe5c2
mov dx, ax
xor dx, cx
xor cx, 0xffff
and ax, cx
shl ax, 1
sub ax, dx
mov word [0x474316], ax
mov ax, word [0x474288]
xor ax, 0x70bb
mov word [0x474318], ax
mov ax, word [0x47428a]
mov cx, ax
and cx, cx
xor cx, 0xffff
xor cx, 0xffff
or cx, 0
xor cx, 0xffff
or cx, 0
and cx, 0x5e7
xor ax, 0xffff
or ax, 0x5e7
xor ax, 0xffff
and ax, 0xffff
or cx, ax
mov word [0x47431a], cx
mov ax, word [0x47428c]
xor ax, 0x885d
mov word [0x47431c], ax
mov ax, word [0x47428e]
xor ax, 0xf59a
mov word [0x47431e], ax
mov ax, word [0x474290]
xor ax, 0x581a
mov word [0x474320], ax
mov ax, word [0x474292]
xor ax, 0x7f2f
mov word [0x474322], ax
mov cx, word [0x474294]
mov ax, cx
xor ax, 0xffff
and ax, 0x48a4
and cx, 0xb75b
mov dx, cx
and dx, ax
xor dx, 0xffff
add ax, cx
add ax, 1
add ax, dx
xor ax, 0x9d69
mov word [0x474324], ax
mov ax, word [0x474296]
xor ax, 0xfb89
mov word [0x474326], ax
mov ax, word [0x474298]
xor ax, 0x4680
mov word [0x474328], ax
mov ax, word [0x47429a]
mov cx, ax
and cx, 0x6bcc
shl cx, 1
add ax, 0x6bcc
sub ax, cx
mov word [0x47432a], ax
mov ax, word [0x47429c]
xor ax, 0xdd53
mov word [0x47432c], ax
mov ax, word [0x47429e]
mov cx, ax
xor cx, 0xffff
and cx, 0xaafc
mov dx, ax
xor dx, 0xaafc
and dx, ax
or cx, dx
xor cx, 0x3f2f
mov word [0x47432e], cx
mov ax, word [0x4742a0]
mov dx, ax
xor dx, 0xffff
mov cx, ax
xor cx, 0xffff
or dx, cx
xor dx, 0xffff
or dx, 0xb0c9
xor dx, 0xffff
and dx, 0xffff
mov cx, dx
xor cx, 0xffff
xor dx, 0xffff
or cx, dx
and cx, 0xffff
xor cx, 0xffff
xor cx, 0xffff
or cx, 0
and ax, 0xb0c9
xor ax, 0xffff
xor cx, 0xffff
mov dx, ax
and dx, 0xffff
shl dx, 1
add ax, 0xffff
sub ax, dx
mov dx, cx
and dx, ax
xor cx, ax
or dx, cx
mov word [0x474330], dx
mov ax, word [0x4742a2]
xor ax, 0xb3d1
mov word [0x474332], ax
mov ax, word [0x4742a4]
xor ax, 0xc3e3
mov word [0x474334], ax
mov ax, word [0x4742a6]
mov cx, ax
xor cx, 0xffff
mov dx, ax
xor dx, 0xffff
and cx, dx
xor cx, 0xffff
and cx, 0x7b94
or ax, 0x7b94
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
mov word [0x474336], cx
mov ax, word [0x4742a8]
mov cx, ax
and cx, 0xffff
shl cx, 1
mov dx, ax
add dx, 0xffff
sub dx, cx
and dx, 0x1575
and ax, 0xea8a
or dx, ax
xor dx, 0x4c4b
mov word [0x474338], dx
mov al, byte [0x47433a]
xor al, 9
mov byte [0x474344], al
mov al, byte [0x47433b]
mov dl, al
and dl, dl
xor dl, 0xff
mov cl, dl
and cl, 0xff
shl cl, 1
add dl, 0xff
sub dl, cl
or dl, 0xc4
xor al, 0xff
or al, 0x3b
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
xor cl, 0xff
and cl, 0xff
or cl, 0
xor cl, 0xff
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub al, dl
or cl, al
mov byte [0x474345], cl
mov al, byte [0x47433c]
xor al, 0xbd
mov byte [0x474346], al
mov ch, byte [0x47433d]
mov al, ch
and al, 0xef
shl al, 1
mov cl, ch
add cl, 0xef
sub cl, al
xor cl, 0xff
and cl, 0xef
mov dl, cl
and dl, 0xfd
mov al, cl
xor al, 0xff
and al, 2
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add al, 0x11
sub ch, al
mov byte [0x474347], ch
mov al, byte [0x47433e]
mov cl, al
xor cl, 0xff
and cl, 0x13
and al, 0xec
or cl, al
mov byte [str.ZZY], cl
mov al, byte [0x47433f]
mov cl, al
and cl, 0x22
shl cl, 1
add al, 0x22
mov dl, al
xor dl, cl
xor cl, 0xff
and al, cl
shl al, 1
sub al, dl
mov byte [0x474349], al
mov al, byte [0x474340]
mov cl, al
xor cl, 0xff
and cl, 0xa0
and al, 0x5f
or cl, al
mov byte [0x47434a], cl
mov al, byte [0x474341]
xor al, 0x62
mov byte [0x47434b], al
mov al, byte [0x474342]
xor al, 0x43
mov byte [0x47434c], al
mov al, byte [0x474343]
mov cl, al
or cl, cl
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
and dl, 0xff
xor dl, 0xff
and dl, 0xff
xor dl, 0xff
xor dl, 0xff
mov cl, dl
xor cl, 0xe2
and cl, dl
or al, 0x1d
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub al, dl
or cl, al
xor cl, 0xff
and cl, 0xff
or cl, 0
mov byte [0x47434d], cl
mov ax, word [0x47434e]
mov cx, ax
or cx, cx
xor cx, 0xffff
xor cx, 0xffff
and cx, 0xffff
xor cx, 0xffff
and cx, 0xffff
mov dx, cx
xor dx, 0x8c93
xor dx, 0xffff
or cx, 0x8c93
and cx, dx
mov dx, ax
add dx, 1
xor ax, 0xffff
or ax, 0x736c
add ax, dx
or cx, ax
mov word [0x47435e], cx
mov cx, word [0x474350]
mov ax, cx
xor ax, 0xffff
and ax, 0xe6a2
mov dx, cx
and dx, 0x195d
or ax, dx
xor ax, 0x195d
and ax, 0x9443
mov dx, cx
xor dx, 0x6bbc
xor dx, 0xffff
or cx, 0x6bbc
and cx, dx
mov dx, ax
or dx, cx
xor dx, 0xffff
or ax, cx
xor ax, 0xffff
or dx, ax
xor dx, 0xffff
mov word [0x474360], dx
mov ax, word [0x474352]
mov cx, ax
xor cx, 0x1e5f
xor cx, 0xffff
and cx, 0x1e5f
mov dx, cx
xor dx, 0xffff
mov si, dx
and si, 2
or dx, 2
xor dx, 0xffff
imul dx, si
mov si, cx
and si, 2
or cx, 2
imul cx, si
add cx, dx
add cx, 0xe1a1
sub ax, cx
mov word [0x474362], ax
mov ax, word [0x474354]
mov cx, ax
xor cx, 0xffff
mov dx, ax
xor dx, 0xffff
and cx, dx
xor cx, 0xffff
and cx, 0x5793
or ax, 0x5793
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
mov word [0x474364], cx
mov ax, word [0x474356]
xor ax, 0xf699
mov word [0x474366], ax
mov ax, word [0x474358]
mov dx, ax
xor dx, 0xffff
xor dx, 0xffff
and dx, 0xffff
shl dx, 1
sub dx, 0xffff
mov cx, ax
sub cx, dx
and cx, 0x5667
mov dx, ax
xor dx, 0xa998
xor dx, 0xffff
or ax, 0xa998
and ax, dx
or cx, ax
mov word [0x474368], cx
mov ax, word [0x47435a]
mov cx, ax
xor cx, 0xffff
mov dx, ax
xor dx, 0xffff
and cx, dx
xor cx, 0xffff
and cx, 0x9280
or ax, 0x9280
xor ax, 0xffff
xor cx, 0xffff
xor ax, 0xffff
and cx, ax
mov word [0x47436a], cx
mov ax, word [0x47435c]
mov cx, ax
or cx, cx
xor cx, 0xffff
xor cx, 0xffff
and cx, 0x3ec
mov si, cx
and si, 0xfffd
mov dx, cx
xor dx, 0xffff
and dx, 2
imul dx, si
mov si, cx
and si, 2
or cx, 2
imul cx, si
add cx, dx
add ax, 0x3ec
sub ax, cx
mov word [0x47436c], ax
jmp 0x407774
mov dword [0x4787c8], 1
push eax
sub esp, 8
mov eax, esp
push eax
mov esi, esp
mov dword [ebp - 0x14], esi
sub esp, 0x14
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x28], esp
sub esp, 0x8c
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x24], esp
sub esp, 8
mov edi, esp
sub esp, 8
mov ebx, esp
sub esp, 0xc
mov dword [ebp - 0x20], esp
mov ecx, dword [0x474344]
mov dword [eax], ecx
mov ecx, dword [str.ZZY]
mov dword [eax + 4], ecx
mov cx, word [0x47434c]
mov word [eax + 8], cx
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi], eax
lea eax, [0x474200]
sub esp, 0xc
mov esi, dword [ebp - 0x18]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x11
call fcn.004521d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
lea eax, str.1V_bLLeAY
sub esp, 0xc
mov esi, dword [ebp - 0x1c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x8a
call fcn.004521d0
add esp, 0xc
mov eax, dword [0x47435e]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [0x474362]
mov dword [ecx + 4], eax
mov eax, dword [0x474366]
mov dword [ecx + 8], eax
mov eax, dword [0x47436a]
mov dword [ecx + 0xc], eax
mov word [edi], 0x88
mov ax, word [edi]
mov word [edi + 2], ax
mov dword [edi + 4], esi
mov word [ebx], 0xe
mov ax, word [ebx]
mov word [ebx + 2], ax
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], 0x34
mov edx, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], 0x50000018
mov dword [esp + 4], 3
mov dword [esp + 8], 3
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
mov esi, dword [ebp - 0x28]
mov dword [esp + 0x14], esi
call eax
cmp dword [esi], 8
je 0x4078df
xor eax, eax
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret