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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov edi, dword [ebp + 8]
mov eax, dword [0x474680]
test eax, eax
jne 0x44ab7a
mov eax, 0x7e25
xor eax, dword [0x473a10]
mov word [0x473a30], ax
movzx eax, word [0x473a12]
xor eax, 0xb3cd
mov word [0x473a32], ax
mov ecx, dword [0x473a14]
mov eax, ecx
not eax
or ecx, 0xffffee66
or eax, 0x1199
and eax, ecx
not eax
mov word [0x473a34], ax
movzx eax, word [0x473a16]
xor eax, 0xc6e1
mov word [0x473a36], ax
mov eax, 0x40fa
xor eax, dword [0x473a18]
mov word [0x473a38], ax
movzx eax, word [0x473a1a]
lea ecx, [eax + eax]
and ecx, 0xfffff1da
neg ecx
add eax, ecx
add eax, 0x78ed
mov word [0x473a3a], ax
mov eax, dword [0x473a1c]
lea ecx, [eax + eax]
and ecx, 0x4d9e
neg ecx
add eax, ecx
add eax, 0x26cf
mov word [0x473a3c], ax
movzx eax, word [0x473a1e]
xor eax, 0x6f80
mov word [0x473a3e], ax
mov eax, dword [0x473a20]
mov ecx, eax
not ecx
or ecx, 0x51e4
or eax, 0xffffae1b
and eax, ecx
mov word [0x473a40], ax
movzx eax, word [0x473a22]
xor eax, 0x7659
mov ecx, 0xbdfa
xor ecx, dword [0x473a24]
mov word [0x473a42], ax
mov word [0x473a44], cx
movzx eax, byte [0x473a46]
xor al, 0x17
mov byte [0x473a4c], al
movzx eax, byte [0x473a47]
xor al, 0x2e
mov byte [0x473a4d], al
movzx eax, byte [0x473a48]
mov ecx, eax
add cl, al
and cl, 0x94
sub al, cl
add al, 0xca
mov byte [0x473a4e], al
movzx eax, byte [0x473a49]
xor al, 0xb7
mov byte [0x473a4f], al
movzx eax, byte [0x473a50]
xor al, 0x91
mov byte [0x473a70], al
movzx eax, byte [0x473a51]
mov ecx, eax
add cl, al
and cl, 0x44
mov dl, 0xa1
sub dl, cl
add cl, 0x5e
and dl, al
not al
and al, cl
sub dl, al
mov byte [0x473a71], dl
movzx eax, byte [0x473a52]
xor al, 0x1c
mov byte [0x473a72], al
movzx eax, byte [0x473a53]
xor al, 0x7e
mov byte [0x473a73], al
movzx eax, byte [0x473a54]
xor al, 0x4b
mov byte [0x473a74], al
movzx eax, byte [0x473a55]
xor al, 0x3a
mov byte [0x473a75], al
movzx eax, byte [0x473a56]
xor al, 0xbf
mov byte [0x473a76], al
movzx eax, byte [0x473a57]
xor al, 0x9a
mov byte [0x473a77], al
movzx eax, byte [0x473a58]
mov ecx, eax
add cl, al
and cl, 4
sub al, cl
add al, 2
mov byte [0x473a78], al
movzx eax, byte [0x473a59]
mov ecx, eax
or cl, 0x98
and al, 0x98
mov edx, eax
add dl, al
not dl
add dl, al
and dl, cl
not dl
mov byte [0x473a79], dl
movzx eax, byte [0x473a5a]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0x46
mov byte [0x473a7a], al
movzx eax, byte [0x473a5b]
xor al, 0x59
mov byte [0x473a7b], al
movzx eax, byte [0x473a5c]
xor al, 0xf0
mov byte [0x473a7c], al
movzx eax, byte [0x473a5d]
xor al, 0xc1
mov byte [0x473a7d], al
movzx eax, byte [0x473a5e]
xor al, 0x9f
mov byte [0x473a7e], al
movzx eax, byte [0x473a5f]
xor al, 0x6a
mov byte [0x473a7f], al
movzx eax, byte [0x473a60]
xor al, 0xe1
mov byte [0x473a80], al
movzx eax, byte [0x473a61]
xor al, 0x2c
mov byte [0x473a81], al
movzx eax, byte [0x473a62]
xor al, 0xde
mov byte [0x473a82], al
movzx eax, byte [0x473a63]
xor al, 0xef
mov byte [str.Zt_b_], al
movzx eax, byte [0x473a64]
xor al, 0x63
mov byte [0x473a84], al
movzx eax, byte [0x473a65]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0x8a
mov byte [0x473a85], al
movzx eax, byte [0x473a66]
xor al, 0x95
mov byte [0x473a86], al
movzx eax, byte [0x473a67]
xor al, 0x38
mov byte [0x473a87], al
movzx eax, byte [0x473a68]
xor al, 0x35
mov byte [0x473a88], al
movzx eax, byte [0x473a69]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x97
mov byte [0x473a89], al
movzx eax, byte [0x473a6a]
xor al, 0x14
mov byte [0x473a8a], al
movzx eax, byte [0x473a6b]
xor al, 0xea
mov byte [0x473a8b], al
movzx eax, byte [0x473a6c]
xor al, 0xd0
mov byte [0x473a8c], al
movzx eax, byte [0x473a6d]
mov ecx, eax
not cl
or al, 5
or cl, 0xfa
and cl, al
not cl
mov byte [0x473a8d], cl
movzx eax, byte [0x473868]
xor al, 0x4f
mov byte [0x473871], al
movzx eax, byte [0x473869]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x473872], al
movzx eax, byte [0x47386a]
mov ecx, eax
or cl, 0xa9
not al
or al, 0x56
and al, cl
not al
mov byte [0x473873], al
movzx eax, byte [0x47386b]
xor al, 0x3d
mov byte [0x473874], al
movzx eax, byte [0x47386c]
xor al, 0x56
mov byte [0x473875], al
movzx eax, byte [0x47386d]
xor al, 0x9a
mov byte [0x473876], al
movzx eax, byte [0x47386e]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x96
mov byte [0x473877], al
movzx eax, byte [0x47386f]
mov ecx, eax
add cl, al
and cl, 0xc2
sub al, cl
add al, 0x61
mov byte [0x473878], al
movzx eax, byte [0x473870]
xor al, 0xba
mov byte [0x473879], al
mov ch, byte [0x47387a]
mov dl, ch
xor dl, 0x52
mov dh, dl
add dh, dl
not dh
add dh, dl
mov al, dh
and al, 0x50
and dl, 2
and dh, 2
mov cl, al
xor cl, 0xfe
mul dl
mov dl, al
mov eax, ecx
mul dh
sub al, dl
add al, ch
add al, 0x52
mov byte [0x473881], al
movzx eax, byte [str._t_T_3]
xor al, 0xf7
mov byte [0x473882], al
movzx eax, byte [0x47387c]
mov ecx, eax
not cl
mov edx, ecx
or dl, 0x78
sub cl, dl
add cl, cl
add cl, al
add cl, 0x78
mov byte [0x473883], cl
movzx eax, byte [0x47387d]
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xc
or cl, 0xf3
add cl, al
inc cl
or cl, dl
mov byte [0x473884], cl
mov dh, byte [0x47387e]
mov bl, dh
and bl, 0xf5
mov cl, dh
and cl, 2
mov dl, dh
or dl, 0xfd
inc dl
mov al, 0xfe
sub al, bl
mul cl
mov ch, al
mov cl, 0xfe
mov eax, edx
mul bl
add al, ch
add al, dh
add al, 0xf7
mov byte [str.j_bEE2c], al
movzx eax, byte [0x47387f]
xor al, 0x38
mov byte [0x473886], al
movzx eax, byte [0x473880]
xor al, 0x23
mov byte [0x473887], al
movzx eax, byte [0x4738b0]
xor al, 0xa
mov byte [0x4738d0], al
movzx eax, byte [0x4738b1]
xor al, 0x75
mov byte [0x4738d1], al
movzx eax, byte [0x4738b2]
mov edx, eax
add dl, al
not dl
add dl, al
and dl, 0x6e
and al, 0x91
or al, dl
mov byte [0x4738d2], al
movzx eax, byte [0x4738b3]
xor al, 0x46
mov byte [0x4738d3], al
movzx eax, byte [0x4738b4]
xor al, 5
mov byte [0x4738d4], al
movzx eax, byte [0x4738b5]
xor al, 0xa3
mov byte [0x4738d5], al
movzx eax, byte [0x4738b6]
mov edx, eax
add dl, al
not dl
add dl, al
and dl, 0xa0
and al, 0x5f
or al, dl
xor al, 0x2a
mov byte [0x4738d6], al
movzx eax, byte [0x4738b7]
mov edx, eax
add dl, al
and dl, 0xd8
sub al, dl
add al, 0xec
mov byte [0x4738d7], al
movzx eax, byte [0x4738b8]
xor al, 0x8a
mov byte [0x4738d8], al
movzx eax, byte [0x4738b9]
xor al, 5
mov byte [0x4738d9], al
movzx eax, byte [0x4738ba]
xor al, 0x9c
mov byte [0x4738da], al
movzx eax, byte [0x4738bb]
xor al, 0x7b
mov byte [0x4738db], al
movzx eax, byte [0x4738bc]
xor al, 0xbc
mov byte [0x4738dc], al
movzx eax, byte [0x4738bd]
xor al, 0x6e
mov byte [0x4738dd], al
movzx eax, byte [0x4738be]
xor al, 0x49
mov byte [0x4738de], al
movzx eax, byte [0x4738bf]
mov edx, eax
add dl, al
and dl, 0x24
sub al, dl
add al, 0x12
mov byte [0x4738df], al
movzx eax, byte [0x4738c0]
not al
mov edx, eax
add dl, al
not dl
add dl, al
and dl, 0x78
and al, 0x87
or al, dl
not al
mov byte [0x4738e0], al
movzx eax, byte [0x4738c1]
xor al, 0x8e
mov byte [0x4738e1], al
movzx eax, byte [0x4738c2]
xor al, 0x93
mov byte [0x4738e2], al
movzx eax, byte [0x4738c3]
xor al, 0x94
mov byte [0x4738e3], al
movzx eax, byte [0x4738c4]
xor al, 0xc3
mov byte [0x4738e4], al
movzx eax, byte [0x4738c5]
xor al, 0xe5
mov byte [0x4738e5], al
movzx eax, byte [0x4738c6]
xor al, 0xad
mov byte [0x4738e6], al
movzx eax, byte [0x4738c7]
xor al, 0xc9
mov byte [0x4738e7], al
movzx eax, byte [0x4738e8]
xor al, 0xb4
mov byte [0x4738f7], al
movzx eax, byte [0x4738e9]
xor al, 0x35
mov byte [0x4738f8], al
movzx eax, byte [0x4738ea]
xor al, 0x16
mov byte [0x4738f9], al
movzx eax, byte [0x4738eb]
xor al, 0xc3
mov byte [0x4738fa], al
movzx eax, byte [0x4738ec]
xor al, 0xd6
mov byte [0x4738fb], al
movzx eax, byte [0x4738ed]
mov edx, eax
add dl, al
and dl, 0xdc
sub al, dl
add al, 0xee
mov byte [0x4738fc], al
movzx eax, byte [0x4738ee]
xor al, 0x8a
mov byte [0x4738fd], al
movzx eax, byte [0x4738ef]
mov edx, eax
xor dl, 0x3f
mov ah, al
or ah, 0xc0
and ah, dl
and al, 0x3f
or al, 0x80
xor al, ah
xor al, 0xbf
mov byte [0x4738fe], al
movzx eax, byte [0x4738f0]
xor al, 0x74
mov byte [0x4738ff], al
movzx eax, byte [0x4738f1]
xor al, 0x3a
mov byte [0x473900], al
movzx eax, byte [0x4738f2]
xor al, 0xf0
mov byte [0x473901], al
movzx eax, byte [0x4738f3]
mov edx, eax
add dl, al
and dl, 0x32
sub al, dl
add al, 0x19
mov byte [str.tX__], al
movzx eax, byte [0x4738f4]
xor al, 0xef
mov byte [0x473903], al
movzx eax, byte [0x4738f5]
xor al, 0xc5
mov byte [0x473904], al
movzx eax, byte [0x4738f6]
xor al, 0x9e
mov byte [0x473905], al
movzx eax, byte [0x473918]
xor al, 0xa2
mov byte [0x473920], al
movzx eax, byte [0x473919]
xor al, 0x3e
mov byte [0x473921], al
movzx eax, byte [0x47391a]
mov edx, eax
add dl, al
and dl, 0x18
sub al, dl
add al, 0x8c
mov byte [0x473922], al
movzx eax, byte [0x47391b]
xor al, 0xb5
mov byte [0x473923], al
movzx eax, byte [0x47391c]
xor al, 0xe4
mov byte [0x473924], al
movzx eax, byte [0x47391d]
mov edx, eax
add dl, al
and dl, 0xc6
sub al, dl
add al, 0x63
mov byte [0x473925], al
movzx eax, byte [0x47391e]
xor al, 0xd1
mov byte [0x473926], al
movzx eax, byte [0x47391f]
mov edx, eax
not dl
mov ah, dl
or ah, 0x7d
sub dl, ah
add dl, dl
add dl, al
add dl, 0xfd
mov byte [0x473927], dl
movzx eax, byte [0x473928]
xor al, 0xe0
mov byte [0x473935], al
movzx eax, byte [0x473929]
xor al, 0x2e
mov byte [str.5Oq2], al
movzx eax, byte [0x47392a]
mov edx, eax
add dl, al
and dl, 0x32
sub al, dl
add al, 0x99
mov byte [0x473937], al
movzx eax, byte [0x47392b]
xor al, 0x6e
mov byte [0x473938], al
movzx eax, byte [0x47392c]
xor al, 0xf7
mov byte [0x473939], al
movzx eax, byte [0x47392d]
xor al, 0x79
mov byte [0x47393a], al
movzx eax, byte [0x47392e]
xor al, 0x44
mov byte [0x47393b], al
movzx eax, byte [0x47392f]
xor al, 0xb8
mov byte [0x47393c], al
movzx eax, byte [0x473930]
mov edx, eax
add dl, al
and dl, 0x34
sub al, dl
add al, 0x1a
mov byte [0x47393d], al
mov ch, byte [0x473931]
mov dl, ch
xor dl, 0x6b
mov dh, dl
add dh, dl
not dh
add dh, dl
mov al, dh
and al, 0x69
and dl, 2
and dh, 2
sub cl, al
mul dl
mov dl, al
mov eax, ecx
mul dh
sub al, dl
add al, ch
add al, 0x6b
mov byte [0x47393e], al
movzx eax, byte [0x473932]
mov ecx, eax
add cl, al
and cl, 0xae
mov dl, 0x56
sub dl, cl
add cl, 0x29
xor cl, al
and dl, al
add dl, dl
sub dl, cl
mov byte [0x47393f], dl
movzx eax, byte [0x473933]
xor al, 0x37
mov byte [0x473940], al
movzx eax, byte [0x473934]
mov ecx, eax
add cl, al
and cl, 0x78
sub al, cl
add al, 0x3c
mov byte [0x473941], al
movzx eax, byte [0x47395c]
mov ecx, eax
xor cl, 0x14
mov edx, ecx
add dl, cl
not dl
add dl, cl
add dl, dl
and dl, 0x28
sub al, dl
add al, 0x14
mov byte [0x473965], al
movzx eax, byte [0x47395d]
xor al, 0x8f
mov byte [0x473966], al
movzx eax, byte [0x47395e]
xor al, 0x8b
mov byte [0x473967], al
movzx eax, byte [0x47395f]
xor al, 0x7a
mov byte [0x473968], al
movzx eax, byte [0x473960]
xor al, 0xb2
mov byte [0x473969], al
movzx eax, byte [0x473961]
xor al, 0x2c
mov byte [0x47396a], al
movzx eax, byte [0x473962]
mov ecx, eax
xor cl, 0xfb
add al, al
and al, 0x1a
xor al, 0xed
add al, cl
add al, 0xe
mov byte [0x47396b], al
movzx ecx, byte [str.7___b]
mov edx, ecx
xor dl, 0x17
mov eax, ecx
or al, 0x68
and al, dl
add al, al
mov dl, 0x97
sub dl, cl
add cl, 0x68
and dl, al
not al
and al, cl
sub al, dl
mov byte [0x47396c], al
movzx eax, byte [0x473964]
xor al, 0xd3
mov byte [0x47396d], al
movzx eax, byte [0x473942]
xor al, 0xd
mov byte [0x47394f], al
movzx eax, byte [0x473943]
xor al, 0xf2
mov byte [0x473950], al
movzx eax, byte [0x473944]
xor al, 0xb3
mov byte [0x473951], al
movzx eax, byte [0x473945]
mov ecx, eax
not cl
or cl, 0xf8
or al, 7
and al, cl
mov byte [0x473952], al
movzx eax, byte [0x473946]
xor al, 0x6f
mov byte [0x473953], al
movzx eax, byte [0x473947]
xor al, 0x6b
mov byte [0x473954], al
movzx eax, byte [0x473948]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0x29
mov byte [0x473955], al
movzx eax, byte [0x473949]
xor al, 0xc0
mov byte [0x473956], al
movzx eax, byte [0x47394a]
xor al, 0xe
mov byte [0x473957], al
movzx eax, byte [0x47394b]
xor al, 0xc4
mov byte [0x473958], al
movzx eax, byte [0x47394c]
xor al, 0xc4
mov byte [0x473959], al
movzx eax, byte [0x47394d]
xor al, 0x98
mov byte [0x47395a], al
movzx eax, byte [0x47394e]
mov ecx, eax
not cl
or cl, 0x49
or al, 0xb6
and al, cl
mov byte [0x47395b], al
movzx eax, byte [0x47396e]
xor al, 7
mov byte [0x473979], al
movzx eax, byte [0x47396f]
xor al, 0xf8
mov byte [0x47397a], al
movzx eax, byte [0x473970]
xor al, 7
mov byte [str.hu], al
movzx eax, byte [0x473971]
xor al, 0x37
mov byte [0x47397c], al
movzx eax, byte [0x473972]
xor al, 0xd6
mov byte [0x47397d], al
movzx eax, byte [0x473973]
xor al, 0x63
mov byte [0x47397e], al
movzx eax, byte [0x473974]
mov ecx, eax
not cl
or cl, 0xe
or al, 0xf1
and al, cl
mov byte [0x47397f], al
movzx eax, byte [0x473975]
xor al, 0xe5
mov byte [0x473980], al
movzx eax, byte [0x473976]
xor al, 0xcd
mov byte [0x473981], al
movzx eax, byte [0x473977]
mov ecx, eax
add cl, al
not cl
add cl, al
and cl, 0x87
and al, 0x78
or al, cl
mov byte [0x473982], al
movzx eax, byte [0x473978]
xor al, 0xdc
mov byte [0x473983], al
movzx eax, byte [0x473990]
mov ecx, eax
add cl, al
and cl, 0x68
sub al, cl
add al, 0xb4
mov byte [0x4739b0], al
movzx eax, byte [0x473991]
xor al, 0x54
mov byte [0x4739b1], al
movzx eax, byte [0x473992]
xor al, 0x10
mov byte [0x4739b2], al
movzx eax, byte [0x473993]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0xbf
mov byte [0x4739b3], al
movzx eax, byte [0x473994]
xor al, 0xcb
mov byte [0x4739b4], al
movzx eax, byte [0x473995]
xor al, 0x69
mov byte [0x4739b5], al
movzx eax, byte [0x473996]
xor al, 0xbd
mov byte [0x4739b6], al
movzx eax, byte [0x473997]
xor al, 0x76
mov byte [0x4739b7], al
movzx eax, byte [0x473998]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0xe4
mov byte [0x4739b8], al
movzx eax, byte [0x473999]
xor al, 0xfb
mov byte [0x4739b9], al
movzx eax, byte [0x47399a]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 3
mov byte [0x4739ba], al
movzx eax, byte [0x47399b]
xor al, 0xca
mov byte [0x4739bb], al
movzx eax, byte [0x47399c]
mov ecx, eax
not cl
mov edx, ecx
or dl, 0x93
add dl, al
inc dl
and cl, 0x6c
or cl, dl
not cl
mov byte [0x4739bc], cl
movzx eax, byte [0x47399d]
xor al, 0x61
mov byte [0x4739bd], al
movzx eax, byte [0x47399e]
xor al, 0x95
mov byte [0x4739be], al
movzx eax, byte [0x47399f]
xor al, 0x47
mov byte [0x4739bf], al
movzx eax, byte [0x4739a0]
xor al, 0xf3
mov byte [0x4739c0], al
movzx eax, byte [0x4739a1]
xor al, 0x74
mov byte [0x4739c1], al
movzx eax, byte [0x4739a2]
xor al, 0x90
mov byte [0x4739c2], al
movzx eax, byte [0x4739a3]
xor al, 0x21
mov byte [0x4739c3], al
movzx eax, byte [0x4739a4]
xor al, 0xa9
mov byte [0x4739c4], al
movzx eax, byte [0x4739a5]
xor al, 0xf9
mov byte [0x4739c5], al
movzx eax, byte [str.Cb8yc]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0x44
mov byte [0x4739c6], al
movzx eax, byte [0x4739a7]
xor al, 0x61
mov byte [0x4739c7], al
movzx eax, byte [0x4739a8]
xor al, 0xd1
mov byte [0x4739c8], al
movzx eax, byte [0x4739a9]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0x72
mov byte [0x4739c9], al
movzx eax, byte [0x4739aa]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0xe3
mov byte [0x4739ca], al
movzx eax, byte [0x4739ab]
mov ecx, eax
or cl, 0xbb
not al
or al, 0x44
mov edx, ecx
add dl, cl
not dl
add dl, cl
mov ecx, eax
add cl, al
not cl
add cl, al
or cl, dl
mov byte [0x4739cb], cl
movzx eax, byte [0x473888]
xor al, 0x45
mov byte [0x473896], al
movzx eax, byte [0x473889]
xor al, 0x8a
mov byte [0x473897], al
movzx eax, byte [0x47388a]
xor al, 8
mov byte [0x473898], al
movzx eax, byte [0x47388b]
xor al, 2
mov byte [0x473899], al
movzx eax, byte [0x47388c]
mov ecx, eax
add cl, al
not cl
add cl, al
and cl, 0xa7
and al, 0x58
or al, cl
mov byte [0x47389a], al
movzx eax, byte [0x47388d]
not al
mov byte [0x47389b], al
movzx eax, byte [0x47388e]
xor al, 0xe6
mov byte [0x47389c], al
movzx eax, byte [0x47388f]
xor al, 0xea
mov byte [0x47389d], al
movzx eax, byte [str..MK]
xor al, 0x59
mov byte [0x47389e], al
movzx eax, byte [0x473891]
xor al, 0xcb
mov byte [0x47389f], al
movzx eax, byte [0x473892]
xor al, 0xdf
mov byte [0x4738a0], al
movzx eax, byte [0x473893]
xor al, 0x44
mov byte [0x4738a1], al
movzx eax, byte [0x473894]
xor al, 0x57
mov byte [0x4738a2], al
movzx eax, byte [0x473895]
xor al, 0xd1
mov byte [0x4738a3], al
movzx eax, byte [0x4739d0]
xor al, 0x8a
mov byte [0x4739f0], al
movzx eax, byte [0x4739d1]
xor al, 0x13
mov byte [0x4739f1], al
movzx eax, byte [0x4739d2]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0xae
mov byte [0x4739f2], al
movzx eax, byte [0x4739d3]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
mov byte [0x4739f3], al
movzx eax, byte [0x4739d4]
xor al, 0xb3
mov byte [0x4739f4], al
movzx eax, byte [0x4739d5]
xor al, 0xf3
mov byte [0x4739f5], al
movzx eax, byte [0x4739d6]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0x7a
mov byte [0x4739f6], al
movzx eax, byte [0x4739d7]
xor al, 0x9b
mov byte [0x4739f7], al
movzx eax, byte [0x4739d8]
mov ecx, eax
add cl, al
and cl, 0x6a
sub al, cl
add al, 0xb5
mov byte [0x4739f8], al
movzx eax, byte [0x4739d9]
xor al, 0xf3
mov byte [0x4739f9], al
movzx eax, byte [0x4739da]
xor al, 0x7f
mov byte [0x4739fa], al
movzx eax, byte [0x4739db]
mov ecx, eax
mov edx, eax
xor dl, 0xb9
add dl, al
not al
and cl, 0x46
sub dl, cl
or al, 0x46
and al, dl
not al
mov byte [0x4739fb], al
movzx eax, byte [0x4739dc]
xor al, 0xc8
mov byte [0x4739fc], al
movzx eax, byte [0x4739dd]
mov ecx, eax
or cl, 0x6c
sub cl, al
not al
and al, 0x93
add cl, 0x93
not cl
or cl, al
mov byte [0x4739fd], cl
movzx eax, byte [0x4739de]
xor al, 0x19
mov byte [0x4739fe], al
movzx eax, byte [0x4739df]
xor al, 0x5b
mov byte [0x4739ff], al
movzx eax, byte [0x4739e0]
xor al, 9
mov byte [0x473a00], al
mov ch, byte [0x4739e1]
mov dh, ch
and dh, 0x2c
mov dl, ch
and dl, 2
mov cl, ch
or cl, 0xfd
inc cl
mov al, dh
xor al, 0xfe
mul dl
mov dl, al
mov eax, ecx
mul dh
add al, dl
add al, ch
add al, 0x2e
mov byte [0x473a01], al
movzx eax, byte [0x4739e2]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0x2a
mov byte [0x473a02], al
movzx eax, byte [0x4739e3]
xor al, 0xf7
mov byte [0x473a03], al
movzx eax, byte [0x4739e4]
mov ecx, eax
add cl, al
not cl
add cl, al
or al, 0xef
or cl, 0x10
and cl, al
not cl
mov byte [0x473a04], cl
mov dword [0x474680], 1
push eax
mov eax, esp
mov dword [esi + 0x84], eax
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x20], esp
sub esp, 8
mov dword [esi + 0x10], esp
push eax
mov dword [esi + 0x24], esp
sub esp, 0xc
mov dword [esi + 0x28], esp
sub esp, 0x100
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 4], esp
sub esp, 0xc
mov dword [esi + 0x2c], esp
sub esp, 0x100
mov dword [esi + 0x34], esp
sub esp, 0x10
mov dword [esi + 0x38], esp
sub esp, 0x100
mov dword [esi + 0x3c], esp
sub esp, 0x1c
mov dword [esi + 0x40], esp
sub esp, 0x100
mov dword [esi + 0x44], esp
sub esp, 0x18
mov dword [esi + 0x48], esp
sub esp, 0x10
mov dword [esi + 0x4c], esp
sub esp, 0x10
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 8], esp
sub esp, 0x200
mov dword [esi + 0x5c], esp
sub esp, 0x18
mov dword [esi + 0x60], esp
sub esp, 0x10
mov dword [esi + 0x64], esp
sub esp, 0x10
mov dword [esi + 0x14], esp
sub esp, 0x10
mov dword [esi + 0x68], esp
sub esp, 0x1a8
mov dword [esi + 0x6c], esp
sub esp, 8
mov dword [esi + 0x70], esp
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x74], ecx
mov esp, ecx
push eax
sub esp, 0x1c
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x7c], esp
sub esp, 0x18
mov dword [esi + 0x80], esp
mov dword [eax], edi
push 0x467aae
push 0x3d95e230
call fcn.0044b890
add esp, 8
push 0
call eax
mov dword [esi + 0xc], eax
push 0x467aae
push 0x3d95e230
call fcn.0044b890
add esp, 8
push 1
call eax
mov dword [esi + 0x1c], eax
push 1
push 0x20
call fcn.00453e87
add esp, 8
mov ebx, eax
mov dword [esi + 0x50], eax
push 1
push 0x20
call fcn.00453e87
add esp, 8
mov edi, eax
mov dword [esi + 0x54], eax
push 0xa
push ebx
push dword [esi + 0xc]
call fcn.00453344
add esp, 0xc
push 0xa
push edi
push dword [esi + 0x1c]
call fcn.00453344
add esp, 0xc
push 1
push 0x4000
call fcn.00453e87
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x18]
mov dword [eax], edi
push edi
call fcn.00454880
add esp, 4
add eax, edi
push 0x36
push 0x467ac4
push eax
call fcn.0044e8d0
add esp, 0xc
push 0x467afa
call fcn.00444200
add esp, 4
mov ebx, eax
push eax
push edi
call fcn.004546a0
add esp, 8
push ebx
call fcn.004542d5
add esp, 4
push edi
call fcn.00454880
add esp, 4
add eax, edi
push 0x21
push 0x466ed9
push eax
call fcn.0044e8d0
add esp, 0xc
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa0a
mov byte [edi + eax + 2], 0
push 1
push 0x8000
call fcn.00453e87
add esp, 8
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x20]
mov dword [ebx], 0x8000
push 0x46633a
push 0xa2f80070
call fcn.0044b890
add esp, 8
push ebx
mov ebx, dword [esi + 0xc]
push ebx
call eax
mov eax, dword [0x473881]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x473884]
mov dword [ecx + 3], eax
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
push 1
push 0x8000
call fcn.00453e87
add esp, 8
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x24]
mov dword [ebx], 0x8000
push 0x467b22
push 0x23fef64a
call fcn.0044b890
add esp, 8
push ebx
mov ebx, dword [esi + 0x10]
push ebx
call eax
mov eax, dword [0x473871]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [0x473875]
mov dword [ecx + 4], eax
movzx eax, byte [0x473879]
mov byte [ecx + 8], al
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0x100
push eax
mov ebx, dword [esi + 0x30]
push ebx
push 2
call dword [0x46e1ec]
mov eax, dword [0x473979]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [0x47397d]
mov dword [ecx + 4], eax
mov eax, dword [0x473980]
mov dword [ecx + 7], eax
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0x100
push eax
mov ebx, dword [esi + 0x34]
push ebx
push 4
call dword [0x46e1ec]
mov eax, dword [0x473896]
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
mov eax, dword [0x47389a]
mov dword [ecx + 4], eax
mov eax, dword [0x47389e]
mov dword [ecx + 8], eax
movzx eax, word [0x4738a2]
mov word [ecx + 0xc], ax
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0x100
push eax
mov ebx, dword [esi + 0x3c]
push ebx
push 4
call dword [0x46e1ec]
mov eax, dword [0x4739b0]
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov eax, dword [0x4739b4]
mov dword [ecx + 4], eax
mov eax, dword [0x4739b8]
mov dword [ecx + 8], eax
mov eax, dword [0x4739bc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4739c0]
mov dword [ecx + 0x10], eax
mov eax, dword [0x4739c4]
mov dword [ecx + 0x14], eax
mov eax, dword [0x4739c8]
mov dword [ecx + 0x18], eax
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0x100
push eax
mov ebx, dword [esi + 0x44]
push ebx
push 4
call dword [0x46e1ec]
mov eax, dword [0x4738d0]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov eax, dword [0x4738d4]
mov dword [ecx + 4], eax
mov eax, dword [0x4738d8]
mov dword [ecx + 8], eax
mov eax, dword [0x4738dc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4738e0]
mov dword [ecx + 0x10], eax
mov eax, dword [0x4738e4]
mov dword [ecx + 0x14], eax
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov ebx, dword [esi + 0x4c]
push ebx
call fcn.0044c0d0
add esp, 4
mov dword [esi + 4], eax
push 1
push 0x800
call fcn.00453e87
add esp, 8
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
mov ecx, dword [esi + 4]
push dword [ecx*4 + 0x473820]
push 0x467b3c
push 0x7ff
push eax
mov ebx, eax
call fcn.004492e0
add esp, 0x1c
mov eax, dword [0x4738f7]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov eax, dword [0x4738fb]
mov dword [ecx + 4], eax
mov eax, dword [0x4738ff]
mov dword [ecx + 8], eax
mov eax, dword [str.tX__]
mov dword [ecx + 0xb], eax
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov eax, dword [0x473965]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [0x473969]
mov dword [ecx + 4], eax
movzx eax, byte [0x47396d]
mov byte [ecx + 8], al
push 0x200
push 0
mov ebx, dword [esi + 0x5c]
push ebx
call fcn.0044f3d0
add esp, 0xc
push ebx
call fcn.00443ce0
add esp, 4
push dword [esi + 8]
push edi
call fcn.004546a0
add esp, 8
push ebx
call fcn.0042df40
add esp, 4
push eax
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
mov eax, dword [0x4739f0]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov eax, dword [0x4739f4]
mov dword [ecx + 4], eax
mov eax, dword [0x4739f8]
mov dword [ecx + 8], eax
mov eax, dword [0x4739fc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x473a00]
mov dword [ecx + 0x10], eax
movzx eax, byte [0x473a04]
mov byte [ecx + 0x14], al
push ecx
push edi
call fcn.004546a0
add esp, 8
push dword [esi + 0x50]
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], pe_nt_image_headers32
push dword [esi + 0x54]
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
push 2
push 0x55
call fcn.00453e87
add esp, 8
mov ebx, eax
push 0x46633a
push 0x2f9959e0
call fcn.0044b890
add esp, 8
push 0x55
push ebx
call eax
push 1
push 0x55
call fcn.00453e87
add esp, 8
push 0x55
push ebx
push eax
mov ebx, eax
call fcn.00458242
add esp, 0xc
mov eax, dword [0x473935]
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov eax, dword [0x473939]
mov dword [ecx + 4], eax
mov eax, dword [0x47393d]
mov dword [ecx + 8], eax
movzx eax, byte [0x473941]
mov byte [ecx + 0xc], al
push ecx
push edi
call fcn.004546a0
add esp, 8
push ebx
push edi
call fcn.004546a0
add esp, 8
push edi
call fcn.00454880
add esp, 4
mov word [edi + eax], 0xa
push 1
push 0x41
call fcn.00453e87
add esp, 8
mov edi, eax
mov eax, 0x80000002
xor ecx, ecx
cpuid
mov dword [esi + 8], ebx
mov ebx, ecx
mov ecx, eax
mov dword [esi + 4], eax
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [edi + 0xc], edx
mov dword [edi + 8], ebx
mov dword [edi + 4], ecx
mov eax, dword [esi + 4]
mov dword [edi], eax
mov eax, 0x80000003
mov ecx, 0
cpuid
mov dword [esi + 8], ebx
mov ebx, ecx
mov ecx, eax
mov dword [esi + 4], eax
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [edi + 0x1c], edx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], ecx
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov eax, 0x80000004
mov ecx, 0
cpuid
mov dword [esi + 4], ecx
mov ecx, eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esi + 8]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ebx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], edx
mov eax, dword [0x47394f]
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov eax, dword [0x473953]
mov dword [ecx + 4], eax
mov eax, dword [0x473957]
mov dword [ecx + 8], eax
movzx eax, byte [0x47395b]
mov byte [ecx + 0xc], al
mov eax, dword [esi + 0x18]
mov ebx, dword [eax]
push ecx
push ebx
call fcn.004546a0
add esp, 8
push edi
push ebx
call fcn.004546a0
add esp, 8
push ebx
call fcn.00454880
add esp, 4
mov word [ebx + eax], 0xa
mov edi, dword [esi + 0x6c]
lea eax, [edi + 4]
push 0x1a4
push 0
push eax
call fcn.0044f3d0
add esp, 0xc
mov dword [edi], 0x1a8
push 0
push edi
push 0
push 0
call dword [0x46e308]
mov eax, dword [0x473920]
mov ecx, dword [0x473924]
mov edx, dword [esi + 0x70]
mov dword [edx + 4], ecx
mov dword [edx], eax
push edx
push ebx
call fcn.004546a0
add esp, 8
add edi, 0x24
push edi
push ebx
call fcn.004546a0
add esp, 8
push ebx
call fcn.00454880
add esp, 4
mov word [ebx + eax], 0xa
mov edi, dword [esi + 0x74]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x46633a
push 0x5f086d32
call fcn.0044b890
add esp, 8
push edi
call eax
mov eax, dword [edi]
mov edi, dword [edi + 4]
shld edi, eax, 0x16
push 1
push 0xa
call fcn.00453e87
add esp, 8
mov dword [esi + 4], eax
push 0xa
push eax
push edi
call fcn.00453344
add esp, 0xc
mov eax, dword [0x473a70]
mov ecx, dword [esi + 0x78]
mov dword [ecx], eax
mov eax, dword [0x473a74]
mov dword [ecx + 4], eax
mov eax, dword [0x473a78]
mov dword [ecx + 8], eax
mov eax, dword [0x473a7c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x473a80]
mov dword [ecx + 0x10], eax
mov eax, dword [0x473a84]
mov dword [ecx + 0x14], eax
mov eax, dword [0x473a88]
mov dword [ecx + 0x18], eax
movzx eax, word [0x473a8c]
mov word [ecx + 0x1c], ax
push ecx
push ebx
call fcn.004546a0
add esp, 8
push dword [esi + 4]
push ebx
call fcn.004546a0
add esp, 8
mov eax, dword [0x473a4c]
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
push ecx
push ebx
call fcn.004546a0
add esp, 8
mov eax, dword [0x473a30]
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [0x473a34]
mov dword [ecx + 4], eax
mov eax, dword [0x473a38]
mov dword [ecx + 8], eax
mov eax, dword [0x473a3c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x473a40]
mov dword [ecx + 0x10], eax
movzx eax, word [0x473a44]
mov word [ecx + 0x14], ax
mov edi, ecx
push ebx
call fcn.00454880
add esp, 4
push eax
push ebx
push edi
mov eax, dword [esi + 0x84]
push dword [eax]
call fcn.0042e130
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret