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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x468
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x60], 0x73866d9b
mov dword [esp + 0x64], 0x77977195
mov dword [esp + 0x68], 0x7b487599
mov dword [esp + 0x6c], 0x7f86799d
mov dword [esp + 0x70], 0x3027d99
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x1c
ja 0x421ba5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, eax
and edx, 0xe5eb91ae
xor eax, 0x65eb91ae
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
add al, 0x3e
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x1d
jb 0x421b60
lea eax, [esp + 0x60]
lea ecx, [esp + 0x4c]
push eax
call fcn.00437910
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444a88]
lea ecx, [esp + 0x4c]
push 0x410
call fcn.00437b60
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444a90]
mov dword [esp + 0x60], 0x603b72a1
mov dword [esp + 0x64], 0x7660455e
mov dword [esp + 0x68], 0x6a616b45
mov dword [esp + 0x6c], 0x5f646849
mov dword [esp + 0x70], 0x7e532c40
mov dword [esp + 0x74], 0x77562851
mov dword [esp + 0x78], 0x7845584c
mov dword [esp + 0x7c], 0x7c277e53
mov dword [esp + 0x80], 0x1c6a7054
mov dword [esp + 0x84], 0x441b0d6d
mov dword [esp + 0x88], 0xd3006965
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov word [esp + 0x94], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x35
ja 0x421cac
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax + ecx]
dec eax
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xa0d6e1ff
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
add al, 7
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x36
jb 0x421c70
lea eax, [esp + 0xc]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
lea edx, [esp + 0x68]
push edx
push eax
call fcn.00438110
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
xor eax, eax
cmp esi, edi
sete al
xor ebx, ebx
mov dword [esp + 0x40], edi
jmp dword [eax*4 + 0x444a98]
mov eax, edi
sub eax, esi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00408c90
add esp, 4
mov ebx, eax
mov dword [esp + 0x3c], 0
xor eax, eax
cmp esi, edi
setne al
mov dword [esp + 0x18], ebx
mov dword [esp + 0x58], ebx
jmp dword [eax*4 + 0x444aa0]
mov esi, dword [esp + 0x48]
add esi, 4
xor eax, eax
mov edi, dword [esp + 0x40]
cmp esi, edi
setne al
jmp dword [eax*4 + 0x444aa0]
mov dword [esp + 0x48], esi
mov esi, dword [esi]
push 0x400
push 0
lea edi, [esp + 0x68]
push edi
call fcn.00408ee0
add esp, 0xc
lea eax, [esp + 0x28]
lea ecx, [esp + 0x4c]
push eax
push 0x400
push edi
push esi
call fcn.00437fb0
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
xor eax, eax
jmp dword [ecx*4 + 0x444aa8]
xor ecx, ecx
cmp dword [esp + 0x28], 0
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x444ab0]
mov eax, 1
jmp dword [0x444ac0]
jmp dword [eax*4 + 0x444ac8]
mov byte [esp + 0x45f], 0
movzx ecx, byte [esp + 0x60]
xor eax, eax
test cl, cl
je 0x421dd2
lea edx, [esp + 0x60]
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x2e
je 0x421dd0
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x421dc0
jmp 0x421dd2
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444ad0]
lea esi, [eax + 1]
movzx ecx, byte [eax + 1]
xor edi, edi
test cl, cl
je 0x421e02
mov edx, esi
nop
cmp cl, 0x2e
je 0x421e00
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x421df0
jmp 0x421e02
mov edi, edx
xor ecx, ecx
test edi, edi
setne cl
jmp dword [ecx*4 + 0x444ad8]
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [eax + ecx]
cmp eax, 0x3d
je 0x421e28
cmp eax, 0x2e
jne 0x421e29
dec edx
movzx eax, byte [ecx + esi - 2]
cmp eax, 0x3d
mov dword [esp + 0x20], ecx
je 0x421e3c
cmp eax, 0x2e
jne 0x421e3d
dec edx
mov dword [esp + 0x5c], edx
lea eax, [edx + 1]
push eax
call fcn.00408c90
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], esi
cmp edi, esi
je 0x421f51
xor esi, esi
mov edi, 2
jmp 0x421e82
mov edx, dword [esp + 0x44]
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
mov esi, edx
cmp edi, ecx
mov edi, eax
jae 0x421f51
mov ebx, dword [esp + 0x24]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00418810
add esp, 4
mov byte [esp + 4], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00418810
add esp, 4
mov bh, al
movzx ecx, byte [esp + 4]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x1c]
mov byte [ecx + esi], al
lea edx, [esi + 1]
mov ecx, dword [esp + 0x20]
cmp edi, ecx
jae 0x421e70
mov dword [esp + 4], esi
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.00418810
mov edx, esi
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
je 0x421e70
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 4]
lea edx, [esi + 2]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1c]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x421e66
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00418810
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x44]
je 0x421e70
shl bl, 6
add al, bl
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 4]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x421e70
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x1c]
mov byte [edi + eax], 0
push edi
call fcn.00401e90
add esp, 4
mov esi, eax
jmp dword [0x444ae0]
push edi
call fcn.00408ca0
add esp, 4
push esi
call fcn.00402770
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x18]
jmp dword [ecx*4 + 0x444ae8]
mov dword [esp + 4], esi
mov dword [esp + 0x28], 0x53f2eeeb
lea ecx, [esp + 0x2c]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 8
ja 0x422010
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x8a71cbb3
add ecx, 0x8a71cbb3
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp], esi
mov ecx, dword [esp]
add cl, 0x1b
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x28], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 9
jb 0x421fd0
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.004026c0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444af0]
mov esi, dword [esp + 4]
jmp dword [0x444af8]
movzx ecx, byte [eax]
test cl, cl
je 0x42205d
inc eax
mov esi, dword [esp + 4]
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 0x422050
jmp 0x422061
mov esi, dword [esp + 4]
mov word [edi], 0x203a
add edi, 2
jmp dword [0x444af8]
jmp 0x42208f
movzx eax, byte [esp + 0x60]
test al, al
je 0x42208b
lea ecx, [esp + 0x61]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422080
mov byte [edi], 0xa
inc edi
movzx eax, byte [esp + 0x60]
test al, al
je 0x4220ab
lea ecx, [esp + 0x61]
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4220a0
mov byte [edi], 0xa
inc edi
mov al, 1
mov dword [esp + 0x3c], eax
jmp dword [0x444b00]
mov dword [esp + 0x18], edi
push esi
call fcn.00402a00
add esp, 4
mov esi, dword [esp + 0x48]
add esi, 4
xor eax, eax
mov edi, dword [esp + 0x40]
cmp esi, edi
setne al
jmp dword [eax*4 + 0x444aa0]
mov eax, dword [esp + 0x3c]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x444b18]
mov edi, dword [ebp + 8]
jmp dword [0x444b24]
mov esi, eax
jmp dword [0x444b30]
push ebx
call fcn.00408ca0
add esp, 4
mov eax, dword [case.0x421cd8.1]
mov ebx, esi
and bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0xc]
test eax, eax
je case.0x421bb8.1
cmp eax, dword [esp + 0x10]
je case.0x421bb8.1
push eax
call fcn.00408ca0
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00437ca0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x18]
mov byte [edx], 0
mov ecx, edx
not ecx
and ecx, ebx
mov eax, ebx
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 0x60], 0x676869c5
mov dword [esp + 0x64], 0x6b5f5861
mov dword [esp + 0x68], 0x666e6065
mov dword [esp + 0x6c], 0x506040a3
mov dword [esp + 0x70], 0x5fb97655
mov dword [esp + 0x74], 0x714b707b
mov dword [esp + 0x78], 0x6b74bf7b
mov word [esp + 0x7c], 0xe576
mov dword [esp + 0x7e], 0
mov dword [esp + 0x81], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x24
ja 0x42220c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x60]
lea esi, [ecx - 0xe13ed41]
and esi, edx
add ecx, edx
add ecx, 0xf1ec12bf
add esi, esi
sub ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xc7
mov edx, dword [esp]
mov byte [esp + edx + 0x60], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x25
jb 0x4221d0
lea edx, [esp + 0x60]
mov ecx, edi
push eax
push ebx
push edx
call fcn.004096e0
jmp dword [0x444b28]
mov eax, dword [esp + 0x18]
mov byte [eax], 0
sub eax, ebx
mov dword [esp + 0x60], 0x676869c5
mov dword [esp + 0x64], 0x6b5f5861
mov dword [esp + 0x68], 0x666e6065
mov dword [esp + 0x6c], 0x506040a3
mov dword [esp + 0x70], 0x5fb97655
mov dword [esp + 0x74], 0x714b707b
mov dword [esp + 0x78], 0x6b74bf7b
mov word [esp + 0x7c], 0xe576
mov dword [esp + 0x7e], 0
mov dword [esp + 0x81], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x24
ja 0x4222cc
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x60]
lea esi, [ecx - 0xe13ed41]
and esi, edx
add ecx, edx
add ecx, 0xf1ec12bf
add esi, esi
sub ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xc7
mov edx, dword [esp]
mov byte [esp + edx + 0x60], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x25
jb 0x422290
lea edx, [esp + 0x60]
mov ecx, edi
push eax
push ebx
push edx
call fcn.004096e0
jmp case.0x421e09.19
int3
jmp dword [edx*4 + 0x444b58]
mov dword [esi + 0x50], 0xeb82d5ba
mov dword [esi + 0x54], 0xefb1e9b1
mov dword [esi + 0x58], 0xe3b9edb1
mov dword [esi + 0x5c], 0xe7b6e1b6
mov dword [esi + 0x60], 0xfb88e589
mov dword [esi + 0x64], 0xffbff9a9
mov dword [esi + 0x68], 0xf3a4fdbb
mov dword [esi + 0x6c], 0xf7a2f1ad
mov dword [esi + 0x70], 0xb98f5ad
mov dword [esi + 0x74], 0xf59095f
mov dword [esi + 0x78], 0x3580d54
mov dword [esi + 0x7c], 0x747016b
mov dword [esi + 0x80], 0x1b5f0550
mov dword [esi + 0x84], 0x1f721976
mov dword [esi + 0x88], 0x13601d79
mov dword [esi + 0x8c], 0x176b1198
mov dword [esi + 0x90], 0x2b41157a
mov dword [esi + 0x94], 0x2f53295e
mov dword [esi + 0x98], 0x235f2d49
mov word [esi + 0x9c], 0x2122
mov dword [esi + 0x9e], 0
mov dword [esi + 0xbc], 0
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x51
ja 0x422460
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xbc]
movzx edi, byte [esi + edx + 0x50]
lea edx, [ecx + edi]
add ecx, 0xdd
and ecx, edi
add ecx, ecx
sub edx, ecx
add edx, 0xd8dd
mov dword [esi + 0xf8], edx
mov ecx, dword [esi + 0xf8]
add cl, 0xf5
mov edx, dword [esi + 0xbc]
mov byte [esi + edx + 0x50], cl
inc dword [esi + 0xbc]
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x52
jb 0x422410
push 0
push 0
push eax
lea eax, [esi + 4]
push eax
push ebx
call fcn.0043c410
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x444b60]
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x14]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi + 4]
call fcn.0043c880
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444b68]
mov ecx, dword [esi + 0x30]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x4224b8
mov eax, 0xffffffff
push eax
call fcn.00408c90
add esp, 4
mov edi, eax
mov dword [esi + 0x50], 0x8336815d
mov dword [esi + 0x54], 0x9f109d0f
mov dword [esi + 0x58], 0x9b2c993d
mov dword [esi + 0x5c], 0x9744952e
mov dword [esi + 0x60], 0x931c9135
mov dword [esi + 0x64], 0x6f6c6d2a
mov dword [esi + 0xbc], 0
mov eax, dword [esi + 0xbc]
cmp eax, 0x17
ja 0x42255b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xbc]
movzx ecx, byte [esi + ecx + 0x50]
lea edx, [eax + 0x43dc69eb]
add eax, 0xeb
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xf8], edx
mov eax, dword [esi + 0xf8]
add al, 0x93
mov ecx, dword [esi + 0xbc]
mov byte [esi + ecx + 0x50], al
inc dword [esi + 0xbc]
mov eax, dword [esi + 0xbc]
cmp eax, 0x18
jb 0x422510
lea eax, [esi + 0x30]
push eax
push edi
push 0
push ebx
push dword [esi + 4]
call fcn.0043cec0
add esp, 0x14
shr eax, 0x1f
mov dword [esi + 0x10], edi
jmp dword [eax*4 + 0x444b70]
mov dword [esi + 0x10], 0
jmp dword [0x444b78]
push edi
call fcn.00408ca0
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi + 0x50], 0xa050407
lea ecx, [esi + 0x54]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi + 0xbc], 0
mov ecx, dword [esi + 0xbc]
cmp ecx, 8
ja 0x422623
nop
nop
nop
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xbc]
movzx edi, byte [esi + edx + 0x50]
lea edx, [ecx + edi]
add edx, 0xdc030fd5
add ecx, 0xdc030fd5
and ecx, edi
add ecx, ecx
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0xf8], ecx
mov ecx, dword [esi + 0xf8]
mov edx, ecx
or edx, 0x2c
and ecx, 0x2c
add ecx, edx
inc cl
mov edx, dword [esi + 0xbc]
mov byte [esi + edx + 0x50], cl
inc dword [esi + 0xbc]
mov ecx, dword [esi + 0xbc]
cmp ecx, 9
jb 0x4225c0
mov ecx, dword [0x4489e0]
test ecx, ecx
je case.default.0x42269e
mov edx, dword [esi + 0x50]
xor edi, edi
mov ebx, dword [0x4489e4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x422673
inc edi
cmp ecx, edi
jne 0x422640
jmp case.default.0x42269e
mov edi, 4
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x444ba0]
xor eax, eax
cmp edi, 4
sete al
jmp dword [eax*4 + 0x444ba8]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.default.0x42269e
push eax
push 1
push dword [0x4489e8]
push ecx
call fcn.00439450
add esp, 0x10
xor eax, eax
cmp dword [esi + 0x10], 0
setne al
mov edi, 2
lea ebx, [esi + 0x50]
jmp dword [eax*4 + 0x444b80]
push ebx
call fcn.0043ba40
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x444b88]
xor eax, eax
cmp dword [esi + 0x50], 1
sete al
jmp dword [eax*4 + 0x444b90]
xor edi, edi
mov eax, 1
jmp dword [eax*4 + 0x444b98]
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x444ba0]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444bb0]
jmp dword [0x444bc4]
mov eax, 0x20119
xor edx, edx
mov ecx, dword [case.0x421e09.30]
jmp case.0x421e09.28
xor eax, eax
jmp dword [eax*4 + 0x444b98]
xor edi, edi
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x444ba0]
mov eax, dword [case.0x42269e.21]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444be4]
xor eax, eax
cmp dword [esi + 0x10], 0
sete al
jmp dword [eax*4 + 0x444be8]
mov dword [esi + 8], eax
mov dword [esi + 0x50], 0xfb5df9aa
mov dword [esi + 0x54], 0xff62fd6b
mov dword [esi + 0x58], 0xf36bf158
mov dword [esi + 0x5c], 0xf758f56b
mov dword [esi + 0x60], 0xeb79e953
mov dword [esi + 0x64], 0xef4aed74
mov dword [esi + 0x68], 0xe379e175
mov dword [esi + 0x6c], 0xe772e53c
mov dword [esi + 0x70], 0xdb7ed942
lea eax, [esi + 0x74]
mov word [esi + 0x74], 0xddda
mov dword [esi + 0x7a], 0
mov dword [esi + 0x76], 0
mov dword [esi + 0xbc], 0
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x2d
ja 0x422828
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xbc]
movzx edx, byte [esi + edx + 0x50]
lea edi, [ecx - 0x58c28101]
dec ecx
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0xf8], edi
mov ecx, dword [esi + 0xf8]
add cl, 7
mov edx, dword [esi + 0xbc]
mov byte [esi + edx + 0x50], cl
inc dword [esi + 0xbc]
mov ecx, dword [esi + 0xbc]
cmp ecx, 0x2e
jb 0x4227e0
lea edi, [esi + 0xbc]
mov edx, ebx
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esi + 0xe0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
mov ebx, dword [esi + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x422860
cmp eax, 0xffffffd9
jge 0x42287e
mov eax, 0xffffffff
jmp 0x422881
xor eax, eax
jmp 0x423976
add eax, 0x26
push eax
call fcn.00408c90
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x4228b1
lea edx, [ebx + 2]
mov eax, edi
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 0x4228a0
mov word [eax], 0
movzx ecx, word [esi + 0xbc]
test cx, cx
je 0x4228e1
lea edx, [esi + 0xbe]
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 0x4228d0
mov word [eax], 0
mov eax, dword [esi + 8]
jmp dword [eax*4 + 0x444bf0]
push ebx
call fcn.00408ca0
add esp, 4
push 0x60
push 3
push 0x120089
lea eax, [esi + 0x14]
push eax
push edi
call fcn.0043bc70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444bf8]
mov dword [esi + 0x2c], 0
xor ebx, ebx
jmp dword [0x444c98]
push edi
call fcn.00408ca0
add esp, 4
mov eax, dword [case.0x422c5a.32]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
mov ecx, dword [esi + 0x2c]
cmp ecx, ebx
sete al
jmp dword [eax*4 + 0x444cb0]
mov dword [esi + 8], ebx
mov eax, ebx
sub eax, ecx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408c90
add esp, 4
mov dword [esi + 0x40], eax
mov dword [esi + 0x50], 0x3540179
mov dword [esi + 0x54], 0x1fa11db3
mov dword [esi + 0x58], 0x1bac19bd
mov dword [esi + 0x5c], 0x17a41559
mov dword [esi + 0x60], 0x134c11a6
mov dword [esi + 0x64], 0x6fe06db1
mov dword [esi + 0x68], 0x6b1769cd
mov dword [esi + 0x6c], 0x67c965ce
mov dword [esi + 0x70], 0x63df61ea
mov dword [esi + 0x74], 0x7fcb7dc1
mov dword [esi + 0x78], 0x7bcc79da
mov dword [esi + 0x7c], 0x77c975cb
mov dword [esi + 0x80], 0x73c471d5
mov dword [esi + 0x84], 0x4fc24d04
mov dword [esi + 0x88], 0x4bf649f2
lea eax, [esi + 0x8c]
mov word [esi + 0x8c], 0x454a
mov dword [esi + 0x8e], 0
mov word [esi + 0x92], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x43
ja 0x422a7a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [esi + edx + 0x50]
mov edx, ecx
and edx, 0xa18fbab
xor ecx, 0xa18fbab
lea ecx, [ecx + edx*2]
lea edx, [ecx + edi]
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esi + 0xf8], ecx
mov ecx, dword [esi + 0xf8]
mov edx, ecx
xor edx, 0x52
and ecx, 0x52
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x50], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x44
jb 0x422a20
lea ebx, [esi + 0xf8]
lea edx, [esi + 0x50]
mov ecx, 0xf
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esi + 0x134]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x30]
push eax
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x4489dc]
mov edi, dword [esi + 0x30]
test edi, edi
jns 0x422fb8
mov eax, 0xffffffff
jmp 0x422fbb
mov dword [esi + 0x44], edi
push 0
lea eax, [esi + 0x30]
push eax
push dword [esi + 0x14]
call fcn.0043bfd0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esi + 8], 0
xor ebx, ebx
jmp dword [eax*4 + 0x444c00]
mov edi, dword [esi + 0x30]
lea eax, [edi + 1]
push eax
call fcn.00408c90
add esp, 4
push 0
push edi
mov dword [esi + 0x1c], eax
push eax
push dword [esi + 0x14]
call fcn.0043c0c0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esi + 8], 0
xor ebx, ebx
jmp dword [eax*4 + 0x444c08]
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x1c]
mov byte [ebx + edi], 0
push 0x20
call fcn.00408c90
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 ecx, dword [case.0x42269e.38]
nop
nop
nop
nop
nop
nop
jmp ecx
mov dword [esi + 0x38], eax
mov ecx, eax
push edi
push ebx
call fcn.00424f00
movzx eax, al
mov dword [esi + 8], 0
xor ebx, ebx
jmp dword [eax*4 + 0x444c20]
mov dword [esi + 0x50], 0x97989e7b
mov dword [esi + 0x54], 0x829080ab
mov dword [esi + 0x58], 0x879b8f57
mov dword [esi + 0x5c], 0x684d9cb2
mov dword [esi + 0x60], 0x8e939888
mov dword [esi + 0x64], 0x90917043
mov dword [esi + 0x68], 0xbfb88087
mov word [esi + 0x6c], 0x9bf
mov dword [esi + 0x6e], 0
mov word [esi + 0x72], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x23
ja 0x422c3e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x50]
mov edx, eax
and edx, 0xf479ee06
xor eax, 0xf479ee06
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0xf8]
add al, 0xd6
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x50], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x24
jb 0x422bf0
mov ecx, dword [esi + 0x38]
lea eax, [esi + 0x50]
push eax
call fcn.00425150
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 8], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x444c28]
add eax, 8
xor ebx, ebx
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
jmp dword [eax*4 + 0x444c30]
mov eax, dword [case.0x422c5a.0]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x42269e.40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444c68]
mov edi, dword [esi + 0x38]
mov ecx, edi
call fcn.004252c0
push edi
call fcn.00408ca0
add esp, 4
mov eax, dword [case.0x42269e.34]
jmp eax
mov edi, dword [esi + 0x1c]
jmp dword [0x444c80]
jmp dword [0x444c8c]
push edi
call fcn.00408ca0
add esp, 4
nop
nop
nop
nop
nop
nop
push edi
call fcn.00408ca0
add esp, 4
jmp dword [0x444c94]
mov dword [esi + 0x2c], ebx
mov eax, dword [esi + 0x14]
mov dword [esi + 0x50], 0xa050407
mov dword [esi + 0x54], 0
mov byte [esi + 0x58], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 8
ja 0x422d74
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [esi + edx + 0x50]
lea edx, [ecx + edi]
add edx, 0xdc030fd5
add ecx, 0xdc030fd5
and ecx, edi
add ecx, ecx
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0xf8], ecx
mov ecx, dword [esi + 0xf8]
mov edx, ecx
or edx, 0x2c
and ecx, 0x2c
add ecx, edx
inc cl
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x50], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 9
jb 0x422d20
mov ecx, dword [0x4489e0]
test ecx, ecx
je 0x4231e1
mov edx, dword [esi + 0x50]
xor edi, edi
mov ebx, dword [0x4489e4]
nop
nop
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x4231d9
inc edi
cmp ecx, edi
jne 0x422d90
jmp 0x4231e1
mov eax, dword [case.0x42269e.80]
nop
nop
nop
nop
jmp eax
xor eax, eax
jmp 0x423934
mov eax, 0xffffffff
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x2c]
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov dword [ebx + eax*8 + 4], ecx
add edi, 8
mov dword [esi + 8], edi
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x444c30]
mov ecx, dword [edx]
mov eax, dword [case.0x422c5a.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 8]
mov edi, eax
sub edi, ebx
sar edi, 3
cmp eax, dword [esi + 0xc]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x24], edi
mov dword [esi + 0x10], ecx
je 0x422e21
mov edx, ebx
jmp 0x422ea7
lea eax, [edi + 1]
mov ecx, edi
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x422e30
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.00408c90
add esp, 4
mov edx, eax
test ebx, ebx
je 0x422e93
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0xc]
cmp ebx, edx
je 0x422e87
mov dword [esi + 8], edi
xor eax, eax
mov edi, dword [esi + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebx + eax]
mov dword [edi + eax], ecx
mov ecx, dword [ebx + eax + 4]
mov dword [edi + eax + 4], ecx
mov dword [ebx + eax], 0
lea ecx, [ebx + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x422e60
mov edx, ebx
mov edi, dword [esi + 8]
push edx
call fcn.00408ca0
add esp, 4
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
lea eax, [edx + ecx*8]
mov dword [esi + 8], eax
lea eax, [edx + edi*8]
mov edi, ecx
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x10]
mov dword [edx + edi*8], 0
mov dword [esi + 0x20], edx
mov dword [edx + edi*8 + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ebx, eax
inc eax
cmp byte [ecx + ebx], 0
jne 0x422ec0
push eax
mov dword [esi + 0x18], eax
call fcn.00408c90
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x20]
mov dword [eax + edi*8], edx
mov ecx, dword [esi + 0x18]
shr ecx, 2
mov eax, dword [esi + 0x10]
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, dword [esi + 0x18]
mov eax, ecx
and eax, 0xfffffffc
add edx, eax
add eax, dword [esi + 0x10]
mov edi, ecx
and edi, 3
mov dword [esi + 0x3c], edi
mov ecx, edi
shr ecx, 1
mov edi, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x34], edx
mov edi, edx
mov edx, dword [esi + 0x4c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, dword [esi + 0x18]
mov edi, ecx
test cl, 1
je 0x422f3a
mov edx, dword [esi + 0x3c]
xor edx, 1
mov ecx, edi
and edx, edi
movzx eax, byte [eax + edx]
and ecx, 2
mov edx, dword [esi + 0x34]
mov byte [edx + ecx], al
cmp edi, 1
je 0x422db9
lea ecx, [edi - 1]
cmp edi, 2
jne 0x422f52
mov eax, 0xffffffff
jmp 0x422f8e
and ebx, 0xfffffffe
mov eax, 0xffffffff
mov edi, dword [esi + 0x10]
nop
nop
nop
mov edx, eax
shr edx, 8
xor al, byte [edi]
movzx eax, al
xor edx, dword [eax*4 + 0x43f7d0]
mov eax, edx
shr eax, 8
xor dl, byte [edi + 1]
add edi, 2
movzx edx, dl
xor eax, dword [edx*4 + 0x43f7d0]
add ebx, 0xfffffffe
jne 0x422f60
mov dword [esi + 0x10], edi
test cl, 1
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x2c]
je 0x422dc4
mov ecx, eax
shr ecx, 8
mov ebx, dword [esi + 0x10]
xor al, byte [ebx]
movzx eax, al
xor ecx, dword [eax*4 + 0x43f7d0]
mov eax, ecx
jmp 0x422dc4
lea eax, [edi + edi]
push eax
call fcn.00408c90
add esp, 4
mov ebx, eax
lea eax, [esi + 0x30]
push eax
push edi
push ebx
push 0x1e
lea eax, [esi + 0xf8]
push eax
push 0
call dword [0x4489dc]
lea eax, [esi + 0xb8]
push 0x60
push 3
push 0x120089
push eax
mov dword [esi + 0xf4], ebx
push ebx
call fcn.0043bc70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444cc8]
xor ecx, ecx
mov eax, dword [case.0x42269e.153]
mov edi, dword [esi + 0x40]
mov edx, edi
mov ebx, dword [esi + 8]
jmp case.0x42269e.150
lea eax, [esi + 0xec]
push 0
push eax
push dword [esi + 0xb8]
call fcn.0043bfd0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esi + 0xc], 0
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x1c], ecx
jmp dword [eax*4 + 0x444cd0]
mov edi, dword [esi + 0xec]
lea eax, [edi + 1]
push eax
call fcn.00408c90
add esp, 4
mov ebx, eax
push 0
push edi
push eax
push dword [esi + 0xb8]
call fcn.0043c0c0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esi + 0xc], 0
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x1c], ecx
jmp dword [eax*4 + 0x444cd8]
mov edi, dword [esi + 0xec]
mov byte [ebx + edi], 0
push 0x20
call fcn.00408c90
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 [esi + 0xe4], eax
mov ecx, eax
push edi
mov edi, dword [esi + 0x40]
mov dword [esi + 0xf0], ebx
push ebx
call fcn.00424f00
movzx eax, al
mov dword [esi + 0xc], 0
mov edx, edi
jmp dword [eax*4 + 0x444ce0]
mov dword [esi + 0x50], 0xa794ae83
mov dword [esi + 0x54], 0x92a494a3
mov dword [esi + 0x58], 0xb78b9f77
mov dword [esi + 0x5c], 0x9c7188ba
mov dword [esi + 0x60], 0xbe8384b4
mov dword [esi + 0x64], 0xb9b9667b
mov dword [esi + 0x68], 0x8fb9bc86
mov dword [esi + 0x6c], 0x87bdbc5f
mov word [esi + 0x70], 0x11b5
mov dword [esi + 0x72], 0
mov dword [esi + 0x76], 0
mov byte [esi + 0x7a], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x2a
ja 0x423195
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x50]
lea edx, [eax + 8]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x9748cc08
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xc8
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x50], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x2b
jb 0x423160
mov ecx, dword [esi + 0xe4]
lea eax, [esi + 0x50]
push eax
call fcn.00425150
xor ebx, ebx
mov dword [esi + 0x10], eax
test eax, eax
setne bl
mov dword [esi + 0xc], 0
mov edx, edi
jmp dword [ebx*4 + 0x444ce8]
mov dword [esi + 0x1c], edx
mov ebx, dword [esi + 0xf0]
mov edi, dword [esi + 0xe4]
jmp dword [0x444db8]
jmp dword [0x444dc4]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x4231ed
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x44]
jmp dword [0x444c98]
push eax
push 1
push dword [0x4489e8]
push ecx
call fcn.00439450
add esp, 0x10
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x44]
jmp dword [0x444c98]
mov eax, dword [esi + 0x10]
add eax, 8
mov dword [esi + 0xc], 0
mov edx, edi
mov edi, eax
nop
nop
nop
nop
mov edi, dword [edi]
mov eax, dword [case.0x4231b7.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
mov dword [esi + 0x10], edi
test edi, edi
setne al
jmp dword [eax*4 + 0x444d00]
jmp dword [0x444d14]
xor ebx, ebx
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], 3
jne 0x423250
mov ebx, dword [eax + 0x10]
jmp 0x423250
mov edi, dword [esi + 0x10]
mov ecx, dword [edi]
xor eax, eax
mov dword [esi + 0x20], ecx
test ecx, ecx
setne al
jmp dword [eax*4 + 0x444d18]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444d20]
mov dword [esi + 0x1c], edx
mov ecx, ebx
jmp dword [0x444d28]
mov edi, ebx
jmp 0x423553
xor eax, eax
mov edi, dword [esi + 0x3c]
test edi, edi
sete al
jmp dword [eax*4 + 0x444d90]
mov edi, dword [ecx]
mov ebx, dword [esi + 8]
xor edx, edx
jmp dword [edx*4 + 0x444d68]
add ecx, 8
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor edx, edx
cmp ecx, ebx
setne dl
mov dword [esi + 8], ebx
jmp dword [edx*4 + 0x444d58]
cmp dword [esi + 0x4c], 0x22
setne byte [esi + 0x20]
mov edx, dword [ecx + 4]
mov ebx, edx
shr ebx, 0x1c
xor ebx, dword [esi + 0x24]
shl edx, 4
or edx, 1
xor edx, dword [esi + 0x18]
or edx, ebx
sete dl
and dl, byte [esi + 0x20]
movzx edx, dl
jmp dword [edx*4 + 0x444d60]
mov ebx, dword [esi + 8]
mov edx, 1
jmp dword [edx*4 + 0x444d68]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x444d70]
xor eax, eax
mov edi, dword [esi + 0x3c]
test edi, edi
sete al
jmp dword [eax*4 + 0x444d90]
mov ebx, dword [esi + 0xb4]
jmp dword [0x444d78]
mov eax, dword [esi + 0x44]
mov dword [ebx], eax
mov eax, dword [esi + 0x3c]
mov dword [ebx + 4], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne 0x423360
mov ecx, dword [esi + 0xac]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov ebx, dword [esi + 0x48]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x79955919
push dword [0x4489ec]
call fcn.0043b080
add esp, 8
push ebx
push 1
push 0
push 0
push dword [esi + 0xac]
push 0
mov ebx, dword [esi + 0xb4]
push ebx
call eax
mov eax, dword [esi + 0x44]
mov dword [ebx], eax
mov eax, dword [esi + 0x3c]
mov dword [ebx + 4], eax
mov eax, 0xffffffff
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne 0x4233c0
mov ecx, dword [esi + 0xac]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov ebx, dword [esi + 0x48]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x79955919
push dword [0x4489ec]
call fcn.0043b080
add esp, 8
push ebx
push 1
push 0
push 0
push dword [esi + 0xac]
push 0
mov ebx, dword [esi + 0xb4]
push ebx
call eax
jmp dword [0x444d80]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444d88]
movzx eax, byte [edi]
test al, al
je 0x42344d
inc edi
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x423440
jmp 0x423453
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x1c]
mov word [edx], 0x203a
mov eax, edx
add eax, 2
mov ebx, dword [ecx]
test ebx, ebx
je 0x423492
mov ecx, dword [ecx + 4]
mov edi, ebx
and edi, 3
je 0x423496
mov dword [esi + 0x18], ebx
xor ebx, ebx
movzx edx, byte [ecx]
cmp dl, 1
mov byte [eax + ebx], dl
sbb ecx, 0xffffffff
inc ebx
cmp edi, ebx
jne 0x423472
mov edi, dword [esi + 0x18]
mov edx, edi
sub edx, ebx
add eax, ebx
mov ebx, edi
mov edi, eax
jmp 0x423498
mov edi, eax
jmp 0x4234d6
mov edx, ebx
cmp ebx, 4
jb 0x4234d6
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 3], bl
lea edi, [eax + 4]
mov eax, edi
add edx, 0xfffffffc
jne 0x42349d
mov byte [edi], 0xa
inc edi
mov dword [esi + 0x1c], edi
mov eax, dword [esi + 0xc]
and al, 1
movzx eax, al
lea ecx, [eax + 1]
or eax, 2
cmp eax, ecx
setne al
mov dword [esi + 0xc], eax
push 0xe9520bac
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
mov ecx, dword [esi + 0x48]
push dword [ecx + 4]
call eax
mov eax, dword [esi + 0xb0]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444d90]
jmp dword [0x444d98]
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.0x4231b7.17
sub eax, ebx
inc eax
shr eax, 1
inc eax
push eax
call fcn.00408c90
add esp, 4
mov ecx, dword [esi + 0xb0]
mov dword [ecx], eax
mov eax, ebx
mov edi, eax
lea eax, [edi + 1]
cmp byte [edi], 0
jne 0x423551
sub edi, ebx
inc edi
shr edi, 1
lea eax, [edi + 1]
push eax
call fcn.00408c90
add esp, 4
mov edx, eax
mov eax, dword [esi + 0xb0]
mov dword [eax], edx
mov ecx, ebx
jmp dword [0x444d30]
mov dword [esi + 0x44], edi
movsx ecx, byte [ebx]
xor eax, eax
test ecx, ecx
setne al
mov dword [esi + 0x3c], edx
mov edi, edx
jmp dword [eax*4 + 0x444d38]
inc ebx
mov byte [edi], cl
inc edi
movsx ecx, byte [ebx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x444d38]
mov eax, ecx
or eax, 0x20
lea edx, [eax - 0x61]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x4235c7
mov cl, 0xff
cmp edx, 6
jae case.default.0x4235db
add al, 0xa9
mov ecx, eax
movsx edx, byte [ebx + 1]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x444d40]
mov dword [esi + 0x24], edi
mov eax, edx
or eax, 0x20
lea edi, [eax - 0x61]
mov dword [esi + 0x18], edi
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x4235fa
mov dl, 0xff
shl cl, 4
add ebx, 2
cmp dword [esi + 0x18], 6
mov edi, dword [esi + 0x24]
jae case.default.0x42361c
add al, 0xa9
mov edx, eax
or cl, dl
mov byte [edi], cl
inc edi
movsx ecx, byte [ebx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x444d38]
mov byte [edi], 0
mov edi, dword [esi + 0x20]
nop
nop
nop
nop
nop
nop
nop
inc edi
movzx eax, byte [edi - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x423630
cmp ecx, 0x20
je 0x423630
movzx ecx, al
cmp ecx, 0x2b
je 0x423656
cmp ecx, 0x2d
jne 0x4237bd
cmp al, 0x2b
sete byte [esi + 0x2b]
movzx eax, byte [edi]
cmp al, 0x30
jne 0x423673
movzx eax, byte [edi + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea edi, [edi + ecx*2]
mov dword [esi + 0x20], edi
xor ebx, ebx
xor ecx, ecx
xor edi, edi
jmp 0x4236a7
mov dword [esi + 0x24], 0
xor eax, eax
mov dword [esi + 0x18], 0xffffffff
mov edx, 0xffffffff
mov dword [esi + 0x4c], 0x22
mov ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x18]
adc eax, edx
mov ebx, dword [esi + 0x4c]
mov edi, eax
mov dword [esi + 0x4c], ebx
mov edx, dword [esi + 0x20]
movsx eax, byte [edx]
lea ebx, [eax - 0x30]
cmp ebx, 0xa
mov dword [esi + 0x18], ecx
jb 0x4236df
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x42378e
or al, 0x20
cmp al, 0x66
jg 0x42378e
movsx ebx, al
add ebx, 0xffffffa9
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x24], ebx
inc edx
mov dword [esi + 0x20], edx
mov eax, ecx
and eax, edi
mov ecx, 0xffffffff
mov ebx, 0x22
mov edx, edi
mov edi, 0xffffffff
cmp eax, 0xffffffff
je 0x4236a7
test edx, 0xf0000000
je 0x423720
cmp dword [esi + 0x24], 0
jne 0x4236a7
jmp 0x42367e
mov ebx, edx
mov edi, dword [esi + 0x18]
mov eax, edi
and eax, 0xffffffef
mov dword [esi + 0x38], eax
mov ecx, edi
and ecx, 0x10
mov eax, ecx
xor eax, 0x10
mov dword [esi + 0x34], eax
mov edx, dword [esi + 0x34]
imul edx, ebx
mov dword [esi + 0x34], edx
mul dword [esi + 0x38]
mov dword [esi + 0x38], eax
add edx, dword [esi + 0x34]
mov dword [esi + 0x34], edx
or edi, 0x10
mov eax, edi
mul ecx
mov edi, eax
imul ebx, ecx
or edx, ebx
add edi, dword [esi + 0x38]
adc edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x24]
mov eax, ecx
sar eax, 0x1f
mov dword [esi + 0x18], edi
add ecx, edi
mov ecx, eax
adc ecx, edx
mov ecx, 0xffffffff
mov edi, 0xffffffff
mov ebx, 0x22
jb 0x4236a7
jmp 0x42369a
mov edx, edi
xor edi, edi
mov eax, dword [esi + 0x18]
neg eax
mov ecx, 0
mov dword [esi + 0x24], edx
sbb ecx, edx
cmp byte [esi + 0x2b], 0
jne 0x4237ad
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], ecx
mov eax, dword [case.0x4235db.5]
mov ecx, dword [esi + 0x2c]
mov ebx, dword [esi + 8]
jmp case.0x42361c.4
dec edi
mov byte [esi + 0x2b], 1
cmp al, 0x30
je 0x423663
jmp 0x423673
push edi
call fcn.00408ca0
add esp, 4
push edi
call fcn.00408ca0
add esp, 4
jmp dword [0x444da0]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x10]
mov eax, dword [case.0x42269e.140]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add edi, 4
jmp 0x423220
mov dword [esi + 0xc], ecx
jmp dword [0x444df8]
jmp dword [0x444de8]
push dword [esi + 0xf4]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x1c], edx
call fcn.00408ca0
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc]
add esp, 4
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x444df0]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x444df0]
mov byte [edx], 0
sub edx, edi
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0xe8]
mov dword [edx], 0x77747589
mov dword [edx + 4], 0x736f6c75
mov dword [edx + 8], 0x767e7c79
mov dword [edx + 0xc], 0x7c7494bb
mov dword [edx + 0x10], 0x8fa56679
mov dword [edx + 0x14], 0x6d7b6463
mov dword [edx + 0x18], 0x6360af63
mov word [edx + 0x1c], 0xd966
mov dword [edx + 0x1e], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x21
ja 0x4238ec
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
lea edx, [eax + 0xe1]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov edx, dword [esi + 0xe8]
add eax, 0x32d466e1
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
add al, 0xd9
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x22
jb 0x4238b0
mov ecx, dword [ebp + 8]
push dword [esi + 0x1c]
push edi
push edx
call fcn.004096e0
mov dword [esi + 0xc], eax
jmp dword [0x444df8]
jmp dword [0x444e04]
push edi
call fcn.00408ca0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00408ca0
add esp, 4
jmp dword [0x444e08]
mov eax, dword [esi + 0xc]
and al, 1
mov edi, dword [esi + 0x2c]
test edi, edi
je 0x423976
cmp edi, ebx
je 0x423976
mov dword [esi + 0xc], eax
jmp 0x423954
cmp edi, ebx
je 0x423968
mov eax, dword [edi]
add edi, 8
test eax, eax
je 0x423950
push eax
call fcn.00408ca0
add esp, 4
jmp 0x423950
push dword [esi + 0x2c]
call fcn.00408ca0
add esp, 4
mov eax, dword [esi + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebx
call fcn.00408ca0
add esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x50], 0xa050407
mov dword [esi + 0x54], 0
mov byte [esi + 0x58], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 8
ja 0x4239fe
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edi, byte [esi + edx + 0x50]
lea edx, [ecx + edi]
add edx, 0xdc030fd5
add ecx, 0xdc030fd5
and ecx, edi
add ecx, ecx
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
mov edx, ecx
or edx, 0x2c
and ecx, 0x2c
add ecx, edx
inc cl
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x50], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 9
jb 0x4239b0
mov ecx, dword [0x4489e0]
test ecx, ecx
je 0x423a4a
mov edx, dword [esi + 0x50]
xor edi, edi
mov ebx, dword [0x4489e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x423a30
inc edi
cmp ecx, edi
jne 0x423a20
jmp 0x423a4a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x423a4a
push eax
push 1
push dword [0x4489e8]
push ecx
call fcn.00439450
add esp, 0x10
mov eax, dword [case.0x42269e.153]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x40]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x1c]
nop
nop
nop
nop
nop
jmp eax
mov ecx, edi
call fcn.004252c0
push edi
call fcn.00408ca0
add esp, 4
mov ecx, edi
call fcn.004252c0
push edi
call fcn.00408ca0
add esp, 4
jmp dword [0x444dc8]
jmp dword [0x444dd0]
lea edi, [esp + 0x122]
lea edx, [esp + 0x10]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x136]
mov edx, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
nop
lea esi, [esp + 0x122]
lea edx, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x136]
mov edx, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
jmp dword [0x444e18]
mov eax, dword [0x4489dc]
mov ecx, dword [case.0x42269e.170]
nop
nop
nop
nop
nop
jmp ecx
mov ecx, dword [case.0x42269e.174]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
lea edi, [esp + 0x78]
push edi
push 0
push 0
push 9
push esi
push 0
call eax
mov ebx, dword [esp + 0x78]
test ebx, ebx
jns 0x423bf1
mov eax, 0xffffffff
jmp 0x423bf4
lea eax, [ebx + ebx]
push eax
call fcn.00408c90
add esp, 4
mov dword [esp + 0x70], eax
push edi
push ebx
mov dword [esp + 0x7c], eax
push eax
push 9
push esi
push 0
call dword [0x4489dc]
mov dword [esp + 0x10], 0xbb13b9f2
mov dword [esp + 0x14], 0xbf19bd0f
mov dword [esp + 0x18], 0x8332810f
mov dword [esp + 0x1c], 0x87848526
lea esi, [esp + 0x20]
mov dword [esp + 0x20], 0
mov word [esp + 0x24], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x15
ja 0x423cb4
nop
nop
nop
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0x97]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x45f7d697
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add al, 0xdf
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
cmp eax, 0x16
jb 0x423c60
lea edi, [esp + 0x136]
lea eax, [esp + 0x10]
mov edx, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x146]
mov edx, esi
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x10], 0xc36bc184
mov dword [esp + 0x14], 0xc765c577
mov dword [esp + 0x18], 0xcb78c967
mov dword [esp + 0x1c], 0xcf8dcd68
mov dword [esp + 0x20], 0xd37cd171
mov dword [esp + 0x24], 0xd764d575
mov dword [esp + 0x28], 0xdbdad961
lea esi, [esp + 0x2c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x33], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x26
ja 0x423d9a
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0xdea137e0
xor ecx, edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
add cl, 0xe0
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x27
jb 0x423d50
lea edi, [esp + 0x8c]
mov ebx, eax
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xa8]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x10], 0x831b8dc8
mov dword [esp + 0x14], 0x87e18117
mov dword [esp + 0x18], 0xbb2c8517
mov dword [esp + 0x1c], 0xbfceb9dc
mov dword [esp + 0x20], 0xb3f4bdc8
lea ebx, [esp + 0x24]
mov word [esp + 0x24], 0xb1b0
mov dword [esp + 0x26], 0
mov word [esp + 0x2a], 0
mov dword [esp + 0xf8], 0
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x1b
ja 0x423e73
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0xf8]
movzx esi, byte [esp + esi + 0x10]
lea edi, [ecx + 0x16]
add ecx, esi
and edi, esi
add edi, edi
sub ecx, edi
add ecx, 0x6ef94b16
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
add cl, 0x66
mov esi, dword [esp + 0xf8]
mov byte [esp + esi + 0x10], cl
inc dword [esp + 0xf8]
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x1c
jb 0x423e20
lea esi, [esp + 0x146]
lea edx, [esp + 0x10]
mov eax, edx
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x15a]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, edx
lea eax, [esp + 0x136]
mov dword [esp + 0x114], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], esi
add dword [esp + 0x70], 2
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x7c], 0
cmp ecx, 3
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x444e40]
mov ecx, dword [esp + 0xb4]
inc ecx
xor eax, eax
cmp ecx, 3
setne al
lea ebx, [esp + 0x10]
jmp dword [eax*4 + 0x444e40]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + ecx*4 + 0x114]
mov eax, 0xfffffffe
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x423f20
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x84], eax
mov esi, eax
sar esi, 1
mov dword [esp + 0x10], 0xebc8953a
mov dword [esp + 0x14], 0xef4de95b
mov dword [esp + 0x18], 0xe350ed49
mov dword [esp + 0x1c], 0xe7b5e182
mov dword [esp + 0x20], 0xfb43e552
mov dword [esp + 0x24], 0xff43f94e
mov word [esp + 0x28], 0xfdfe
lea eax, [esp + 0x28]
mov word [eax + 0xe], 0
mov dword [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0x27
ja 0x423ff5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xbd]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x590583bd
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add al, 0xd5
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x50]
mov eax, dword [esp + 0x50]
cmp eax, 0x28
jb 0x423fb0
lea edi, [esp + 0xf8]
mov eax, ebx
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x28]
lea edi, [esp + 0x110]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x78]
lea ecx, [esi + eax]
lea edx, [esi + eax]
add edx, 0xd
lea eax, [ecx + ecx]
add eax, 0x1a
test edx, edx
jns 0x424038
mov eax, 0xffffffff
push eax
call fcn.00408c90
add esp, 4
mov edi, eax
mov eax, dword [case.0x423edc.8]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x424081
mov edx, dword [esp + 0x70]
mov eax, edi
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 0x424070
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
je 0x4240b1
add edx, 2
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 0x4240a0
mov word [eax], 0
movzx ecx, word [esp + 0xf8]
test cx, cx
je 0x4240e1
lea edx, [esp + 0xfa]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4240d0
mov word [eax], 0
lea eax, [esp + 0x88]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.0043bc70
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xb8], esi
mov dword [esp + 0xf4], edi
jmp dword [eax*4 + 0x444e68]
xor ebx, ebx
jmp 0x424880
lea eax, [esp + 0xbc]
push 0
push eax
push dword [esp + 0x90]
call fcn.0043bfd0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444e70]
mov esi, dword [esp + 0xbc]
lea eax, [esi + 1]
push eax
call fcn.00408c90
add esp, 4
mov ecx, dword [case.0x423edc.16]
jmp ecx
push 0
push esi
mov dword [esp + 0xb4], eax
push eax
push dword [esp + 0x94]
call fcn.0043c0c0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444e88]
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xac]
mov byte [ecx + eax], 0
push ecx
call fcn.00401e90
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444e90]
xor ebx, ebx
jmp 0x424772
mov dword [esp + 0xa8], eax
push eax
call fcn.00402770
add esp, 4
mov dword [esp + 0x10], 0xeee51017
mov dword [esp + 0x14], 0x1b18161c
mov dword [esp + 0x18], 0xd61ee6dc
mov dword [esp + 0x1c], 0x23202e24
mov dword [esp + 0x20], 0xd6d5d1dd
mov word [esp + 0x24], 0x26d1
mov byte [esp + 0x26], 0xb8
lea ecx, [esp + 0x28]
mov byte [ecx + 1], 0
mov word [ecx - 1], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x19
lea edi, [esp + 0x10]
ja 0x424285
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx - 0x23d5836b]
add ecx, 0x95
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0xc0]
add cl, 0xed
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0x1a
jb 0x424240
push edi
push eax
call fcn.004028c0
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x4242a0
shr ecx, 2
mov dword [esp + 0x64], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x4242c3
cmp edx, 0x2e
jne 0x4242c4
dec ecx
mov edx, dword [esp + 0x64]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x80], eax
je 0x4242de
cmp edx, 0x2e
jne 0x4242df
dec ecx
mov dword [esp + 0xf0], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408c90
add esp, 4
mov dword [esp + 0x68], eax
cmp dword [esp + 0x64], 0
je 0x424410
xor edi, edi
mov esi, 2
jmp 0x424332
mov ecx, dword [esp + 0xb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
mov edi, ecx
cmp esi, edx
mov esi, eax
jae 0x424410
mov ebx, dword [esp + 0x80]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00418810
add esp, 4
mov byte [esp + 0x6c], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00418810
mov edx, dword [esp + 0x68]
add esp, 4
mov bh, al
movzx ecx, byte [esp + 0x6c]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x68]
mov byte [ecx + edi], al
lea ecx, [edi + 1]
cmp esi, edx
jae 0x424320
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + esi]
push eax
mov edi, ecx
call fcn.00418810
mov ecx, edi
mov edx, dword [esp + 0x68]
add esp, 4
cmp al, 0x40
je 0x424320
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x6c]
lea ecx, [edi + 2]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x68]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42430a
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00418810
mov edx, dword [esp + 0x68]
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0xb0]
je 0x424320
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov byte [ecx + edi + 2], al
add edi, 3
mov ecx, edi
jmp 0x424320
mov ecx, dword [esp + 0xf0]
mov eax, ecx
xor eax, 0xfffffffa
and ecx, 0xfffffffa
lea eax, [eax + ecx*2]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x68]
add eax, 5
mov dword [esp + 0x54], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
push 0x79955919
push dword [0x4489ec]
call fcn.0043b080
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x50]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444e98]
xor ebx, ebx
mov esi, dword [esp + 0xa8]
jmp dword [0x444eb8]
jmp dword [0x444ea0]
mov dword [esp + 0x10], 0x63c865b7
mov dword [esp + 0x14], 0x6fb261f2
mov dword [esp + 0x18], 0x6bf46df2
mov dword [esp + 0x1c], 0x576869f6
lea esi, [esp + 0x20]
mov dword [esi + 3], 0
mov dword [esi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x16
ja 0x42450e
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0x6048e91
add eax, 0x6048e91
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 9
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x17
jb 0x4244d0
lea edi, [esp + 0xc0]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, esi
xor ecx, ecx
lea edi, [esp + 0xd0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x424546
mov eax, 0xffffffff
push eax
call fcn.00408c90
add esp, 4
mov ecx, dword [esp + 0x4c]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x424581
mov ecx, dword [esp + 0x4c]
lea esi, [ecx + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x424570
mov word [ecx], 0
movzx edx, word [esp + 0xc0]
test dx, dx
je 0x4245b1
lea esi, [esp + 0xc2]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4245a0
mov word [ecx], 0
mov ecx, dword [ebp + 8]
push dword [esp + 8]
push dword [esp + 0x10]
push eax
call fcn.00409530
jmp case.0x423edc.24
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 8]
push dword [esp + 0x10]
push esi
call fcn.00409530
jmp dword [0x444eac]
mov dword [esp + 0x10], 0x63c865b7
mov dword [esp + 0x14], 0x6fb261f2
mov dword [esp + 0x18], 0x6bf46df2
mov dword [esp + 0x1c], 0x576869f6
lea esi, [esp + 0x20]
mov dword [esi + 3], 0
mov dword [esi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x16
ja 0x42466e
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0x6048e91
add eax, 0x6048e91
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 9
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x17
jb 0x424630
lea edi, [esp + 0xc0]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, esi
lea edi, [esp + 0xd0]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x84]
cmp eax, 0xffffffef
jge 0x4246b0
mov eax, 0xffffffff
jmp 0x4246b3
add eax, 0x10
push eax
call fcn.00408c90
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x4246f1
mov eax, dword [esp + 0x4c]
lea edx, [eax + 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 0x4246e0
mov word [eax], 0
movzx ecx, word [esp + 0xc0]
test cx, cx
je 0x4245d0
lea edx, [esp + 0xc2]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424710
jmp 0x4245d0
mov ebx, eax
jmp dword [0x444eb0]
push esi
call fcn.00408ca0
add esp, 4
push 0xe9520bac
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
push dword [esp + 0xc]
call eax
mov esi, dword [esp + 0xa8]
jmp dword [0x444eb8]
push dword [esp + 0x68]
call fcn.00408ca0
add esp, 4
push esi
call fcn.00402a00
add esp, 4
mov eax, dword [case.0x423edc.18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444ed0]
push dword [esp + 0xac]
call fcn.00408ca0
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], 0xa050407
lea ecx, [esp + 0x28]
mov byte [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 8
ja 0x42482b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0xdc030fd5
add ecx, 0xdc030fd5
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
mov edx, ecx
or edx, 0x2c
and ecx, 0x2c
add ecx, edx
inc cl
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 9
jb 0x4247d0
mov ecx, dword [0x4489e0]
test ecx, ecx
je 0x424880
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x4489e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xad91fd63
je 0x424860
inc esi
cmp ecx, esi
jne 0x424850
jmp 0x424880
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x424880
push eax
push 1
push dword [0x4489e8]
push ecx
call fcn.00439450
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x42269e.216]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx esi, bl
jmp dword [0x444ee8]
push dword [esp + 0xf4]
call fcn.00408ca0
add esp, 4
jmp dword [esi*4 + 0x444ef0]
jmp dword [esi*4 + 0x444ef0]
mov dword [esp + 0x10], 0xf3be8d30
mov dword [esp + 0x14], 0xf751f163
mov dword [esp + 0x18], 0xfb56f555
mov dword [esp + 0x1c], 0xff49f998
mov dword [esp + 0x20], 0xe371fd68
mov dword [esp + 0x24], 0xe747e176
mov dword [esp + 0x28], 0xeb4fe54f
mov dword [esp + 0x2c], 0xef42e954
mov dword [esp + 0x30], 0xd348ed49
mov dword [esp + 0x34], 0xd77ad175
mov dword [esp + 0x38], 0xdb7cd570
mov word [esp + 0x3c], 0xd9d8
lea eax, [esp + 0x28]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x36
lea esi, [esp + 0x10]
ja 0x42499e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add eax, 0x3e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xd2c02a3e
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x50]
add al, 0x4e
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x37
jb 0x424960
lea edi, [esp + 0xc0]
mov eax, esi
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xec]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp dword [0x444ef8]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0xb8]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x4249ed
mov eax, 0xffffffff
push eax
call fcn.00408c90
add esp, 4
mov ecx, dword [esp + 0x74]
movzx ecx, word [ecx]
test cx, cx
je 0x424a21
mov edx, dword [esp + 0x70]
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 0x424a10
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
je 0x424a51
add edx, 2
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 0x424a40
mov word [eax], 0
movzx ecx, word [esp + 0xc0]
test cx, cx
je 0x424a81
lea edx, [esp + 0xc2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424a70
mov word [eax], 0
mov dword [esp + 0x10], 0xb3c0b587
mov dword [esp + 0x14], 0xcf3ab1c9
mov dword [esp + 0x18], 0xcbb8cdb5
mov dword [esp + 0x1c], 0xc7b6c9b6
mov word [esp + 0x20], 0xc5c6
lea eax, [esp + 0x28]
mov word [eax + 2], 0
mov dword [eax - 2], 0
mov dword [eax - 6], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja case.0x42269e.222
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx edx, byte [esp + eax + 0x10]
lea esi, [ecx - 0x2dd3f5c7]
lea eax, [ecx + edx]
add eax, 0xd22c0a39
and esi, edx
mov edi, 0x2dd3f5c6
sub edi, ecx
or edi, edx
add edi, ecx
lea ecx, [esi + edi]
add ecx, 0xd22c0a3a
mov edx, ecx
xor edx, eax
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 8]
add al, 0x71
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x424ae0
jmp case.0x42269e.222
lea ebx, [esp + 0x10]
jmp dword [0x444f04]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0xb8]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x424b70
mov eax, 0xffffffff
jmp 0x424b77
add eax, edx
add eax, eax
add eax, 0x2e
push eax
call fcn.00408c90
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x424bb1
mov edx, dword [esp + 0x70]
mov eax, esi
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 0x424ba0
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
je 0x424be1
add edx, 2
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 0x424bd0
mov word [eax], 0
movzx ecx, word [esp + 0xc0]
test cx, cx
je 0x424c11
lea edx, [esp + 0xc2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424c00
mov word [eax], 0
mov dword [esp + 0x10], 0xb3c0b587
mov dword [esp + 0x14], 0xcf3ab1c9
mov dword [esp + 0x18], 0xcbb8cdb5
mov dword [esp + 0x1c], 0xc7b6c9b6
mov word [esp + 0x20], 0xc5c6
lea eax, [esp + 0x28]
mov word [eax + 2], 0
mov dword [eax - 2], 0
mov dword [eax - 6], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x424b40
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx edx, byte [esp + eax + 0x10]
lea edi, [ecx - 0x2dd3f5c7]
lea eax, [ecx + edx]
add eax, 0xd22c0a39
and edi, edx
mov ebx, 0x2dd3f5c6
sub ebx, ecx
or ebx, edx
add ebx, ecx
lea ecx, [edi + ebx]
add ecx, 0xd22c0a3a
mov edx, ecx
xor edx, eax
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 8]
add al, 0x71
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x424c70
jmp 0x424b40
jmp dword [0x444f08]
lea edi, [esp + 0x50]
mov eax, ebx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
mov ecx, 1
lea edi, [esp + 0x60]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x42269e.226
mov eax, 0xffffffff
push eax
call fcn.00408c90
add esp, 4
jmp dword [0x444f14]
lea edi, [esp + 0x50]
mov eax, ebx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
mov ecx, 1
lea edi, [esp + 0x60]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x84]
cmp eax, 0xffffffed
jl 0x424d00
add eax, 0x12
jmp 0x424d05
mov edi, eax
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
je 0x424d81
add edx, 2
mov eax, edi
nop
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 0x424d70
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x424db1
lea edx, [esp + 0x52]
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 0x424da0
mov word [eax], 0
mov dword [esp + 0x10], 0xc3c2c12a
lea eax, [esp + 0x28]
mov byte [eax - 0xc], 0
mov dword [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x424e28
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0x5e8dda0]
add eax, 0xa0
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0xa0
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x424df0
push 0
push 0
push 0
push 0xc00000
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.0041ac50
add esp, 0x20
mov ecx, dword [esp + 0x7c]
and cl, 1
or cl, al
mov dword [esp + 0x7c], ecx
jmp dword [0x444f18]
push edi
call fcn.00408ca0
add esp, 4
jmp dword [0x444f20]
jmp dword [0x444f20]
jmp dword [0x444f2c]
push esi
call fcn.00408ca0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408ca0
add esp, 4
jmp dword [0x444f34]
mov ecx, dword [esp + 0xb4]
inc ecx
xor eax, eax
cmp ecx, 3
setne al
jmp dword [eax*4 + 0x444e40]
mov eax, dword [case.0x423edc.4]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444f38]
push dword [esp + 0x74]
call fcn.00408ca0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x444f4c]
mov eax, dword [case.0x42269e.246]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x7c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x42610e
mov dword [esi + 0xc], edi
movzx edi, word [eax]
test di, di
je 0x4260e6
mov dword [esi + 0x6c], eax
add eax, 2
xor ecx, ecx
jmp 0x425fb0
mov ecx, dword [esi + 0x10]
add ecx, edi
movzx edi, word [eax]
add eax, 2
test di, di
je 0x425fd7
mov dword [esi + 0x10], ecx
movzx edx, di
xor ecx, ecx
cmp edx, 0x800
setb bl
mov edi, 1
cmp edx, 0x80
jb 0x425fa0
mov cl, bl
xor ecx, 3
mov edi, ecx
jmp 0x425fa0
lea eax, [ecx + 4]
and eax, 0xfffffffc
call fcn.00408c60
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x4260ee
lea edx, [eax + ecx]
mov dword [esi + 0x70], edx
inc ecx
add ecx, eax
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x6c]
mov dword [esi + 0x10], ecx
jmp 0x426031
mov edx, dword [esi + 0x14]
mov byte [edx], bl
mov dword [esi + 0x48], 1
mov ebx, dword [esi + 0x6c]
add ebx, 2
add edx, dword [esi + 0x48]
mov dword [esi + 0x14], edx
cmp edx, dword [esi + 0x70]
jae 0x4260e1
mov dword [esi + 0x6c], ebx
movzx ebx, word [ebx]
test bx, bx
je 0x4260e1
cmp bx, 0x7f
jbe 0x426010
mov edi, dword [esi + 0x14]
not edi
add edi, ecx
movzx edx, bx
cmp edx, 0x7ff
ja 0x426090
mov dword [esi + 0x48], 0
cmp edi, 2
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
jb 0x42601c
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edx], cl
mov ecx, dword [esi + 0x10]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov dword [esi + 0x48], 2
jmp 0x42601c
mov dword [esi + 0x7c], edx
mov dword [esi + 0x48], 0
cmp edi, 3
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
jb 0x42601c
mov ecx, dword [esi + 0x7c]
shr ecx, 0xc
or cl, 0xe0
mov byte [edx], cl
shr dword [esi + 0x7c], 6
mov ecx, dword [esi + 0x7c]
not ecx
or ecx, 0x3f
add ecx, dword [esi + 0x7c]
add cl, 0x81
mov byte [edx + 1], cl
mov ecx, dword [esi + 0x10]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 2], bl
mov dword [esi + 0x48], 3
jmp 0x42601c
mov ecx, dword [esi + 0x14]
jmp 0x4260f3
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov ecx, eax
mov edi, dword [esi + 0xc]
mov byte [ecx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42610b
inc eax
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x426100
mov byte [edi], 0
mov byte [edi], 0xa
inc edi
lea eax, [esi + 0x1e0]
mov dword [esi + 0x70], eax
push eax
call fcn.004292d0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4456e8]
jmp 0x426a0e
mov ecx, dword [esi + 0x1e0]
mov byte [esi + 0x82a], 0
test ecx, ecx
je 0x4261a2
lea ebx, [esi + 0x82a]
cmp ecx, 0x64
jb 0x4261b4
mov dword [esi + 0xc], edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov edi, ebx
mov ebx, ecx
sub ebx, eax
movzx eax, word [ebx + ebx + 0x43f528]
mov ebx, edi
mov word [edi - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x426160
cmp edx, 9
ja 0x4261be
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x4261cd
mov dword [esi + 0xc], edi
lea ebx, [esi + 0x829]
mov byte [esi + 0x829], 0x30
jmp 0x4261cd
mov dword [esi + 0xc], edi
mov edx, ecx
cmp edx, 9
jbe 0x426195
movzx eax, word [edx + edx + 0x43f528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edi, dword [esi + 0x1e4]
mov byte [esi + 0xfa], 0
test edi, edi
mov dword [esi + 0x10], ebx
je 0x426230
lea ebx, [esi + 0xfa]
cmp edi, 0x64
jb 0x42623f
nop
nop
nop
nop
mov eax, edi
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, edi
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43f528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp edi, 0x270f
mov edi, edx
ja 0x4261f0
cmp edx, 9
ja 0x426246
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, ebx
mov byte [ebx - 1], al
dec ecx
jmp 0x426257
lea ecx, [esi + 0xf9]
mov byte [esi + 0xf9], 0x30
jmp 0x426257
mov edx, edi
cmp edx, 9
jbe 0x426221
movzx eax, word [edx + edx + 0x43f528]
mov ecx, ebx
mov word [ebx - 2], ax
add ecx, 0xfffffffe
mov ebx, dword [esi + 0x1e8]
mov byte [esi + 0x77e], 0
test ebx, ebx
mov dword [esi + 0x14], ecx
je 0x4262be
lea edi, [esi + 0x77e]
cmp ebx, 0x64
jb 0x4262cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43f528]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x426280
cmp edx, 9
ja 0x4262d4
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x4262e3
lea edi, [esi + 0x77d]
mov byte [esi + 0x77d], 0x30
jmp 0x4262e3
mov edx, ebx
cmp edx, 9
jbe 0x4262b1
movzx eax, word [edx + edx + 0x43f528]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x570], 0x98caf8da
mov dword [esi + 0x574], 0xbaacc997
mov dword [esi + 0x578], 0x80bb8a8a
mov dword [esi + 0x57c], 0x1ffed782
mov dword [esi + 0x580], 0
mov dword [esi + 0x583], 0
mov dword [esi + 0x8c], 0
mov ecx, dword [esi + 0x8c]
cmp ecx, 0x16
ja 0x42638f
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x8c]
movzx edx, byte [esi + edx + 0x570]
lea ebx, [ecx + 0xda]
add ecx, edx
and ebx, edx
add ebx, ebx
sub ecx, ebx
add ecx, 0x417c8dda
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0xa
mov edx, dword [esi + 0x8c]
mov byte [esi + edx + 0x570], cl
inc dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
cmp ecx, 0x17
jb 0x426340
movzx ecx, byte [esi + 0x570]
test cl, cl
je 0x4263bd
lea edx, [esi + 0x571]
mov ebx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4263b0
jmp 0x4263c0
mov ebx, dword [esi + 0xc]
mov edx, ebx
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4263dd
inc eax
mov ebx, dword [esi + 0x10]
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4263d0
jmp 0x4263e0
mov ebx, dword [esi + 0x10]
mov word [edx], 0x2820
add edx, 2
movzx eax, byte [ebx]
test al, al
je 0x42640d
inc ebx
mov ecx, edx
mov edx, dword [esi + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x426400
jmp 0x426412
mov ecx, edx
mov edx, dword [esi + 0x14]
mov byte [ecx], 0x2e
inc ecx
movzx eax, byte [edx]
test al, al
je 0x42642b
inc edx
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x426420
mov byte [ecx], 0x2e
inc ecx
movzx eax, byte [edi]
test al, al
je 0x42644d
inc edi
mov ebx, ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x426440
jmp 0x42644f
mov ebx, ecx
mov byte [ebx], 0x29
inc ebx
lea eax, [esi + 0x528]
push eax
call fcn.0043ba40
add esp, 4
movzx eax, al
mov edi, ebx
jmp dword [eax*4 + 0x4456f0]
jmp 0x4265fe
mov byte [edi], 0x20
xor eax, eax
cmp dword [esi + 0x528], 1
sete al
jmp dword [eax*4 + 0x4456f8]
mov ebx, edi
mov dword [esi + 0x570], 0x4b809fde
mov dword [esi + 0x574], 0
mov dword [esi + 0x578], 0
mov dword [esi + 0x57c], 0
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 0xf
ja 0x426523
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx edx, byte [esi + ecx + 0x570]
lea ecx, [eax + 0x57b1880d]
mov edi, edx
not edi
or edi, ecx
and ecx, edx
add ecx, edi
neg ecx
add eax, ecx
add eax, 0x57b1880c
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0xa5
mov ecx, dword [esi + 0x8c]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
cmp eax, 0x10
jb 0x4264d0
lea eax, [esi + 0x570]
mov edi, ebx
jmp case.0x42269e.254
mov dword [esi + 0x570], 0x5b080ac0
mov dword [esi + 0x574], 0
mov word [esi + 0x578], 0
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 9
ja 0x4265d7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx edx, byte [esi + ecx + 0x570]
lea ecx, [eax + edx]
add ecx, 0xd85e3d4c
add eax, 0xd85e3d4c
and eax, edx
add eax, eax
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov ecx, eax
or ecx, 0xeb
and eax, 0xeb
add eax, ecx
inc al
mov ecx, dword [esi + 0x8c]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
cmp eax, 0xa
jb 0x426570
lea eax, [esi + 0x570]
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x4265fb
inc eax
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 0x4265f0
mov byte [edi], 0
mov dword [esi + 0x570], 0x4798a6fc
mov dword [esi + 0x574], 0x635f586b
mov dword [esi + 0x578], 0x6753b59e
mov dword [esi + 0x57c], 0xf794bf55
mov dword [esi + 0x580], 0
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 0x13
ja 0x4266a8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx edx, byte [esi + ecx + 0x570]
lea ecx, [eax + edx]
add ecx, 0xe2c0783f
add eax, 0xe2c0783f
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0x47
mov ecx, dword [esi + 0x8c]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
cmp eax, 0x14
jb 0x426650
movzx eax, byte [esi + 0x570]
test al, al
je 0x4266cb
lea ecx, [esi + 0x571]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4266c0
mov byte [edi], 0
movzx eax, byte [esi + 0x1f4]
test al, al
je 0x4266eb
lea ecx, [esi + 0x1f5]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4266e0
mov ebx, edi
mov byte [edi], 0
mov dword [esi + 0x570], 0x8fc0f6dc
mov dword [esi + 0x574], 0xff838ab9
mov dword [esi + 0x578], 0x848e88b4
mov dword [esi + 0x57c], 0xbbbbf5d0
mov word [esi + 0x580], 0x11ab
mov dword [esi + 0x582], 0
mov dword [esi + 0x586], 0
mov dword [esi + 0x58a], 0
mov byte [esi + 0x58e], 0
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 0x1e
ja 0x4267b8
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx ecx, byte [esi + ecx + 0x570]
lea edx, [eax - 0x357a4c25]
lea edi, [eax + 0xdb]
xor edi, edx
and edx, ecx
and edi, ecx
add eax, ecx
add eax, 0xca85b3db
lea ecx, [edi + edx*2]
sub eax, ecx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 3
mov ecx, dword [esi + 0x8c]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
cmp eax, 0x1f
jb 0x426760
movzx eax, byte [esi + 0x570]
test al, al
je 0x4267dd
lea ecx, [esi + 0x571]
mov edi, ebx
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4267d0
jmp 0x4267df
mov edi, ebx
mov byte [edi], 0
movzx ecx, word [esi + 0x208]
xor eax, eax
test cx, cx
setns al
jmp dword [eax*4 + 0x445700]
jmp case.0x42269e.258
mov byte [edi], 0x2b
inc edi
movzx ecx, word [esi + 0x208]
mov byte [esi + 0x1e], 0
test cx, cx
je 0x426864
mov dword [esi + 0xc], edi
lea eax, [esi + 0x1e]
movsx edi, cx
sar edi, 0xf
mov edx, ecx
xor edx, edi
sub edx, edi
cmp dx, 0x64
mov dword [esi + 0x10], ecx
jb 0x42686f
nop
nop
nop
nop
nop
nop
nop
movzx ebx, dx
mov edi, ebx
shr edi, 2
imul edi, edi, 0x147b
shr edi, 0x11
imul ecx, edi, 0x64
sub edx, ecx
movzx ecx, dx
movzx ecx, word [ecx + ecx + 0x43f528]
mov word [eax - 2], cx
add eax, 0xfffffffe
mov edx, edi
cmp ebx, 0x270f
ja 0x426830
jmp 0x426871
lea eax, [esi + 0x1d]
mov byte [esi + 0x1d], 0x30
mov dl, 0x30
jmp 0x4268d1
mov edi, edx
movzx edx, di
cmp dx, 9
ja 0x426887
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x4268b9
mov edi, edx
and edi, 2
mov ecx, edx
or edx, 2
imul edx, edi
xor edi, 2
and ecx, 0x3fd
imul ecx, edi
movzx ebx, byte [ecx + edx + 0x43f529]
movzx edx, byte [ecx + edx + 0x43f528]
mov byte [eax - 1], bl
mov byte [eax - 2], dl
add eax, 0xfffffffe
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
test cx, cx
js 0x4268ca
test dl, dl
jne 0x4268d1
jmp 0x4268eb
mov byte [eax - 1], 0x2d
dec eax
mov dl, 0x2d
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x4268e0
mov byte [edi], 0
mov dword [esi + 0x570], 0xfa221032
mov dword [esi + 0x574], 0xe6d2d6d2
mov dword [esi + 0x578], 0xffdad9d8
mov dword [esi + 0x57c], 0xf11b2d19
mov word [esi + 0x580], 0xbddc
mov dword [esi + 0x582], 0
mov dword [esi + 0x586], 0
mov dword [esi + 0x589], 0
mov dword [esi + 0x528], 0
mov eax, dword [esi + 0x528]
cmp eax, 0x1c
ja case.0x42269e.261
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x528]
mov ecx, dword [esi + 0x528]
movzx edx, byte [esi + ecx + 0x570]
lea ecx, [eax + edx]
add eax, 0x76
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0xa3545176
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0x8c]
mov ecx, eax
or ecx, 0xc5
and eax, 0xc5
add eax, ecx
inc al
mov ecx, dword [esi + 0x528]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x528]
mov eax, dword [esi + 0x528]
cmp eax, 0x1d
jb 0x426960
movzx eax, byte [esi + 0x570]
test al, al
je 0x4269eb
lea ecx, [esi + 0x571]
nop
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 0x4269e0
mov byte [edi], 0
movzx eax, byte [esi + 0x20a]
test al, al
je 0x426a0b
lea ecx, [esi + 0x20b]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426a00
mov byte [edi], 0
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x426a21
push eax
call fcn.00408ca0
add esp, 4
call fcn.00433b20
movzx eax, al
jmp dword [eax*4 + 0x445708]
mov ebx, edi
mov dword [esi + 0x570], 0xfef00a0c
mov word [esi + 0x574], 0x6109
mov dword [esi + 0x576], 0
mov dword [esi + 0x57a], 0
mov byte [esi + 0x57e], 0
mov dword [esi + 0x820], 0
mov eax, dword [esi + 0x820]
cmp eax, 0xe
ja 0x426b98
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x820]
mov ecx, dword [esi + 0x820]
movzx edx, byte [esi + ecx + 0x570]
lea ecx, [eax - 0x55339c8f]
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
add eax, 0x71
and eax, edx
add eax, edi
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0x1e0], eax
mov eax, dword [esi + 0x1e0]
add al, 0xe9
mov ecx, dword [esi + 0x820]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x820]
mov eax, dword [esi + 0x820]
cmp eax, 0xf
jb 0x426a80
jmp 0x426b98
mov ebx, edi
mov dword [esi + 0x570], 0xd6c7c3c4
mov byte [esi + 0x574], 0xb4
mov dword [esi + 0x575], 0
mov dword [esi + 0x579], 0
mov word [esi + 0x57d], 0
mov dword [esi + 0x820], 0
mov eax, dword [esi + 0x820]
cmp eax, 0xe
ja 0x426b98
nop
nop
nop
nop
mov eax, dword [esi + 0x820]
mov ecx, dword [esi + 0x820]
movzx ecx, byte [esi + ecx + 0x570]
mov edx, eax
and edx, 0xf5c7ebb8
xor eax, 0x75c7ebb8
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x1e0], edx
mov eax, dword [esi + 0x1e0]
mov ecx, eax
or ecx, 0xf7
and eax, 0xf7
add eax, ecx
inc al
mov ecx, dword [esi + 0x820]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x820]
mov eax, dword [esi + 0x820]
cmp eax, 0xf
jb 0x426b30
lea eax, [esi + 0x570]
mov dword [esi + 0x1e0], 0x76526c4a
mov dword [esi + 0x1e4], 0x96a090a8
mov dword [esi + 0x1e8], 0x618e8cbc
mov word [esi + 0x1ec], 0x2d4c
mov dword [esi + 0x1ee], 0
mov word [esi + 0x1f2], 0
mov dword [esi + 0xf0], 0
mov ecx, dword [esi + 0xf0]
cmp ecx, 0x13
ja 0x426c46
nop
nop
nop
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0xf0]
movzx edx, byte [esi + edx + 0x1e0]
lea edi, [ecx + edx]
add edi, 0xb90fa588
add ecx, 0xb90fa588
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x820], edi
mov ecx, dword [esi + 0x820]
add cl, 0x48
mov edx, dword [esi + 0xf0]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0xf0]
mov ecx, dword [esi + 0xf0]
cmp ecx, 0x14
jb 0x426bf0
movzx ecx, byte [esi + 0x1e0]
test cl, cl
je 0x426c6d
lea edx, [esi + 0x1e1]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x426c60
jmp 0x426c6f
mov edi, ebx
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x426c8b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x426c80
mov byte [edi], 0
mov byte [esi + 0x560], 0
mov dword [esi + 0xd8], 0x10
push 0x5effdb5a
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
lea ecx, [esi + 0xd8]
lea edx, [esi + 0x560]
push ecx
push edx
call eax
mov dword [esi + 0x1e0], 0xae44b650
mov dword [esi + 0x1e4], 0xf4f0f2f3
mov dword [esi + 0x1e8], 0xadf286f2
mov word [esi + 0x1ec], 0x694a
mov dword [esi + 0x1ee], 0
mov dword [esi + 0x1f2], 0
mov byte [esi + 0x1f6], 0
mov dword [esi + 0x820], 0
mov eax, dword [esi + 0x820]
cmp eax, 0x16
ja 0x426d70
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x820]
mov ecx, dword [esi + 0x820]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax + 0x31]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xee285131
mov dword [esi + 0x570], eax
mov eax, dword [esi + 0x570]
add al, 0xa9
mov ecx, dword [esi + 0x820]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x820]
mov eax, dword [esi + 0x820]
cmp eax, 0x17
jb 0x426d20
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x426d9b
lea ecx, [esi + 0x1e1]
nop
nop
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 0x426d90
mov byte [edi], 0
movzx eax, byte [esi + 0x560]
test al, al
je 0x426dbb
lea ecx, [esi + 0x561]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426db0
mov dword [esi + 0xc], edi
mov byte [edi], 0
mov dword [esi + 0x820], 0
mov dword [esi + 0x824], 0
mov eax, dword [0x4476c8]
mov dword [esi + 0x1e0], 0x9b069979
mov dword [esi + 0x1e4], 0x9777951a
mov dword [esi + 0x1e8], 0x930b9100
mov dword [esi + 0x1ec], 0x8f5c8d5f
mov dword [esi + 0x1f0], 0x8b16895e
mov dword [esi + 0x1f4], 0x87128510
mov word [esi + 0x1f8], 0x8180
mov dword [esi + 0x1fe], 0
mov dword [esi + 0x1fa], 0
mov dword [esi + 0xf0], 0
mov ecx, dword [esi + 0xf0]
cmp ecx, 0x21
ja 0x426eac
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0xf0]
movzx edi, byte [esi + edx + 0x1e0]
lea edx, [ecx - 0x50892dbc]
lea ebx, [ecx + 0x44]
or edx, ebx
and ebx, edi
and edx, edi
add edx, ebx
add ecx, edi
add ecx, 0xaf76d244
sub ecx, edx
mov dword [esi + 0x570], ecx
mov ecx, dword [esi + 0x570]
add cl, 0x24
mov edx, dword [esi + 0xf0]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0xf0]
mov ecx, dword [esi + 0xf0]
cmp ecx, 0x22
jb 0x426e50
push 0x800
push 0
lea edi, [esi + 0x1e0]
push edi
call eax
lea ecx, [esi + 0x820]
push eax
call fcn.00438fa0
movzx eax, al
jmp dword [eax*4 + 0x445710]
mov edi, dword [esi + 0xc]
jmp dword [0x44571c]
mov byte [esi + 0x1e0], 0
mov dword [esi + 0x18], 0x101
push 0x2e2335c
push dword [esi + 0x820]
call fcn.0043b080
add esp, 8
lea ecx, [esi + 0x18]
push ecx
push edi
call eax
mov dword [esi + 0x570], 0x98546640
mov dword [esi + 0x574], 0x69beaabf
mov word [esi + 0x578], 0x2d4e
mov dword [esi + 0x57e], 0
mov dword [esi + 0x57a], 0
mov dword [esi + 0x774], 0
mov eax, dword [esi + 0x774]
cmp eax, 0x11
ja 0x426faf
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x774]
mov eax, dword [esi + 0x774]
movzx eax, byte [esi + eax + 0x570]
mov edx, ecx
and edx, 0xfa2fb209
xor ecx, 0xfa2fb209
lea edx, [ecx + edx*2]
mov ecx, edx
and ecx, eax
not eax
or eax, edx
not ecx
add ecx, edx
sub ecx, eax
mov dword [esi + 0xf0], ecx
mov eax, dword [esi + 0xf0]
add al, 0xc1
mov ecx, dword [esi + 0x774]
mov byte [esi + ecx + 0x570], al
inc dword [esi + 0x774]
mov eax, dword [esi + 0x774]
cmp eax, 0x12
jb 0x426f50
movzx eax, byte [esi + 0x570]
test al, al
mov edi, dword [esi + 0xc]
je 0x426fdb
lea ecx, [esi + 0x571]
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 0x426fd0
mov byte [edi], 0
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x426ffb
lea ecx, [esi + 0x1e1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426ff0
mov byte [edi], 0
push dword [esi + 0x820]
call dword [0x4477cc]
jmp dword [0x44571c]
jmp 0x4286d5
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445768]
mov dword [edi], 0x202d090a
add edi, 4
mov ecx, dword [eax + 8]
jmp dword [0x445734]
jmp 0x427250
mov byte [edi], 0x20
inc edi
movzx ecx, byte [eax + 4]
xor edx, edx
test cl, cl
sete dl
jmp dword [edx*4 + 0x445748]
xor edx, edx
cmp cl, 1
sete dl
mov dword [esi + 0xc], edi
jmp dword [edx*4 + 0x445760]
mov dword [esi + 0x1e0], 0xa0a0bab3
mov dword [esi + 0x1e4], 0xb3b3afa3
mov word [esi + 0x1e8], 0x75a9
mov dword [esi + 0x1ea], 0
mov dword [esi + 0x1ee], 0
mov dword [esi + 0x1f1], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x14
ja 0x4271df
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx ebx, byte [esi + edx + 0x1e0]
lea edx, [ecx + 0x20e1918e]
mov edi, edx
and edi, ebx
xor edx, ebx
add ecx, 0x8e
and ecx, ebx
add ecx, edi
sub edx, ecx
lea ecx, [edx + edi*2]
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 0xf0]
add cl, 0x1e
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x15
jb 0x4270d0
jmp 0x4271df
mov ebx, edi
jmp dword [0x445750]
mov dword [esi + 0x1e0], 0xd42628cb
mov byte [esi + 0x1e4], 0x7a
mov dword [esi + 0x1e5], 0
mov dword [esi + 0x1e9], 0
mov byte [esi + 0x1ed], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0xd
ja 0x4271df
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1e0]
mov edi, 0xeae559b0
sub edi, ecx
lea ebx, [ecx + 0x4f]
and ebx, edx
or edi, edx
add edx, ecx
add edx, 0x151aa64f
add edi, ecx
lea ecx, [ebx + edi]
add ecx, 0x151aa650
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 0xf0]
add cl, 0xd7
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0xe
jb 0x427180
mov edi, dword [esi + 0xc]
jmp 0x4271f2
mov edi, ebx
mov edx, dword [esi + 0x70]
movzx ecx, byte [edx]
test cl, cl
mov dword [esi + 0x70], edx
je 0x42720b
inc edx
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x427200
mov byte [edi], 0
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445768]
xor ecx, ecx
cmp byte [eax + 4], 3
setb cl
jmp dword [ecx*4 + 0x445740]
mov ebx, edi
movzx edx, byte [ecx]
test dl, dl
je 0x42724b
lea edi, [ecx + 1]
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x427240
mov byte [ebx], 0
mov edi, ebx
movzx edx, byte [ecx]
mov ebx, edi
test dl, dl
je 0x42726b
lea edi, [ecx + 1]
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x427260
mov byte [ebx], 0
mov edi, ebx
jmp dword [0x44573c]
mov dword [esi + 0x1e0], 0xbdbea8cb
mov word [esi + 0x1e4], 0x7dd5
mov dword [esi + 0x1ea], 0
mov dword [esi + 0x1e6], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0xd
ja case.0x426ecb.16
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1e0]
lea edi, [ecx + edx]
add edi, 0x7957a18f
add ecx, 0x7957a18f
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0xf0], edi
mov ecx, dword [esi + 0xf0]
add cl, 0x17
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0xe
jb 0x4272c0
mov dword [esi + 0x1e0], 0xbdbea8cb
mov word [esi + 0x1e4], 0x7dd5
mov dword [esi + 0x1ea], 0
mov dword [esi + 0x1e6], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0xd
ja 0x427387
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1e0]
lea edi, [ecx + edx]
add edi, 0x7957a18f
add ecx, 0x7957a18f
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0xf0], edi
mov ecx, dword [esi + 0xf0]
add cl, 0x17
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0xe
jb 0x427340
jmp dword [0x445758]
mov ebx, edi
xor eax, eax
mov edi, dword [esi + 0x10]
test edi, edi
sete al
jmp dword [eax*4 + 0x445770]
jmp dword [0x445778]
mov dword [esi + 0x1e0], 0x63041628
mov dword [esi + 0x1e4], 0x116c6673
mov word [esi + 0x1e8], 0x2d0e
mov dword [esi + 0x1ea], 0
mov dword [esi + 0x1ee], 0
mov dword [esi + 0x1f1], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x14
ja 0x427443
mov eax, dword [esi + 0x18]
lea ecx, [eax - 0x16c68b5b]
lea edx, [eax + 0xa5]
mov edi, ecx
and edi, edx
xor ecx, edx
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1e0]
and edi, edx
and ecx, edx
add eax, edx
add eax, 0xe93974a5
lea ecx, [ecx + edi*2]
sub eax, ecx
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0x7d
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x15
jb 0x4273f0
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x42746d
lea ecx, [esi + 0x1e1]
mov edi, ebx
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 0x427460
jmp 0x42746f
mov edi, ebx
mov byte [edi], 0
lea eax, [esi + 0x528]
push eax
call fcn.00433e10
add esp, 4
movzx eax, byte [esi + 0x528]
test al, al
je 0x4274ab
lea ecx, [esi + 0x529]
nop
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 0x4274a0
mov byte [edi], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
push 0xabbada0d
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
lea ecx, [esi + 0xc8]
push ecx
call eax
mov eax, dword [esi + 0xc8]
mov ebx, dword [esi + 0xcc]
shld ebx, eax, 0x16
mov byte [esi + 0x553], 0
mov dword [esi + 0xc], edi
je 0x427554
lea ecx, [esi + 0x553]
cmp ebx, 0x64
jb 0x427566
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0x10], ecx
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43f528]
mov ecx, dword [esi + 0x10]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x427510
cmp edx, 9
ja 0x42756d
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x42757c
lea eax, [esi + 0x552]
mov dword [esi + 0x10], eax
mov byte [esi + 0x552], 0x30
jmp 0x42757f
mov edx, ebx
cmp edx, 9
jbe 0x427547
movzx eax, word [edx + edx + 0x43f528]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov dword [esi + 0x10], ecx
mov word [esi + 0xf0], 0xe399
mov byte [esi + 0xf2], 0x2a
mov dword [esi + 0xf3], 0
mov byte [esi + 0xf7], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 7
ja 0x42760d
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0xf0]
lea edx, [eax + 0x23791bda]
and edx, ecx
mov ebx, 0xdc86e425
sub ebx, eax
or ebx, ecx
lea edi, [eax + ebx]
add edi, 0x23791bdb
mov ebx, edi
and ebx, edx
xor edx, edi
add eax, ecx
add eax, 0x23791bda
lea ecx, [edx + ebx*2]
sub eax, ecx
mov dword [esi + 0x1e0], eax
mov eax, dword [esi + 0x1e0]
add al, 0xa
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xf0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x4275b0
mov dword [esi + 0x1e0], 0x556a781a
mov dword [esi + 0x1e4], 0x48765c49
mov dword [esi + 0x1e8], 0x55bf93bd
mov word [esi + 0x1ec], 0x1170
mov dword [esi + 0x1f2], 0
mov dword [esi + 0x1ee], 0
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 0x15
ja 0x4276b6
nop
nop
nop
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx edx, byte [esi + ecx + 0x1e0]
lea ecx, [eax + edx]
add ecx, 0xb5f1db2a
add eax, 0x2a
and eax, edx
add eax, eax
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0xda
mov ecx, dword [esi + 0x8c]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
cmp eax, 0x16
jb 0x427660
movzx eax, byte [esi + 0x1e0]
test al, al
mov edi, dword [esi + 0xc]
je 0x4276db
lea ecx, [esi + 0x1e1]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4276d0
mov byte [edi], 0
mov ecx, dword [esi + 0x10]
movzx eax, byte [ecx]
test al, al
je 0x4276fb
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4276f0
mov byte [edi], 0
movzx eax, byte [esi + 0xf0]
test al, al
je 0x42771b
lea ecx, [esi + 0xf1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427710
mov byte [edi], 0
xor eax, eax
xor ecx, ecx
cpuid
mov dword [esi + 0x1d0], ebx
mov dword [esi + 0x1d4], edx
mov dword [esi + 0x1d8], ecx
mov byte [esi + 0x1dc], 0
mov dword [esi + 0x1e0], 0x3e18067c
mov dword [esi + 0x1e4], 0x291c2a2a
mov dword [esi + 0x1e8], 0xc2d4cfd9
mov dword [esi + 0x1ec], 0x77143fc0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0xf
ja 0x4277cf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax - 0x5d3519b1]
add eax, 0x4f
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xf0], edx
mov eax, dword [esi + 0xf0]
mov ecx, eax
or ecx, 0xd6
and eax, 0xd6
add eax, ecx
inc al
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x10
jb 0x427780
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x4277eb
lea ecx, [esi + 0x1e1]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4277e0
mov byte [edi], 0
movzx eax, byte [esi + 0x1d0]
test al, al
je 0x42780b
lea ecx, [esi + 0x1d1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427800
mov dword [esi + 0xc], edi
mov byte [edi], 0
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
mov eax, VariantInit
mov ecx, 0
cpuid
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, VariantInit
mov ecx, 0
cpuid
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
lea edx, [esi + 0xbc]
lea eax, [esi + 0x8c]
lea ebx, [esi + 0x18]
mov ecx, 0xc
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x48]
xor ecx, ecx
mov edi, edx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [case.0x426ecb.32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ebx, ebx
cmp byte [edx - 1], 0x20
sete bl
jmp dword [ebx*4 + 0x445798]
dec edx
mov byte [edx], 0
jmp case.0x426ecb.30
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x4457a0]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x4457a0]
mov dword [esi + 0x1e0], 0x9ec0f6dc
mov dword [esi + 0x1e4], 0xa9fcb292
mov dword [esi + 0x1e8], 0xd1878ebd
mov word [esi + 0x1ec], 0x15fa
mov dword [esi + 0x1ee], 0
mov dword [esi + 0x1f1], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x14
ja 0x427966
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 0x1e0]
lea edi, [ecx + 0xdb]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0x4acd62db
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 0xf0]
add cl, 3
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x15
jb 0x427920
movzx ecx, byte [esi + 0x1e0]
test cl, cl
je 0x42798d
lea edx, [esi + 0x1e1]
mov edi, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x427980
jmp 0x427990
mov edi, dword [esi + 0xc]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4279ac
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x4279a0
mov byte [edi], 0
mov dword [esi + 0xf0], 0x52515057
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf7], 0
mov dword [esi + 0xbc], 0
mov eax, dword [esi + 0xbc]
cmp eax, 0xa
ja 0x427a48
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xbc]
movzx edx, byte [esi + ecx + 0xf0]
lea ecx, [eax + edx]
add ecx, 0xf93397f3
add eax, 0xf3
and eax, edx
add eax, eax
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
add al, 0x5b
mov ecx, dword [esi + 0xbc]
mov byte [esi + ecx + 0xf0], al
inc dword [esi + 0xbc]
mov eax, dword [esi + 0xbc]
cmp eax, 0xb
jb 0x4279f0
mov eax, dword [esi + 0xf0]
mov ecx, dword [0x4489e0]
test ecx, ecx
je case.default.0x427ab2
mov ebx, edi
xor edx, edx
mov edi, dword [0x4489e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x8bca30fc
je 0x427a82
inc edx
cmp ecx, edx
jne 0x427a70
mov edi, ebx
jmp case.default.0x427ab2
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
mov edi, ebx
je case.default.0x427ab2
lea eax, [esi + 0x1e0]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x4489e8]
push ecx
call fcn.00439450
add esp, 0x1c
not eax
shr eax, 0x1f
mov dword [esi + 0xc], edi
jmp dword [eax*4 + 0x4457a8]
mov dword [esi + 0x14], 0
mov eax, 0xb
xor ecx, ecx
cpuid
mov dword [esi + 0x10], ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x4457b0]
mov eax, 0xb
xor ecx, ecx
cpuid
mov dword [esi + 0x10], ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
movzx ecx, byte [esi + 0x208]
mov dword [esi + 0x14], ecx
sete al
jmp dword [eax*4 + 0x4457b0]
mov eax, 0xb
mov ecx, 1
cpuid
mov dword [esi + 0x10], ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x4457b8]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x4285c2
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
jmp case.0x427ab2.15
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov eax, ecx
xor eax, 0xffffff00
or ecx, 0xff
and ecx, eax
xor eax, eax
cmp ecx, 2
sete al
jmp dword [eax*4 + 0x4457c0]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x4457c8]
jmp dword [0x4457f8]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jge case.0x427ab2.20
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
jmp case.0x427ab2.20
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
jmp dword [0x445804]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jge 0x427be0
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x10], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je 0x427c3e
cmp dword [esi + 0x10], reloc.OLEAUT32.dll_VariantClear
jl 0x427c3e
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
jmp dword [0x445804]
mov eax, ebx
mov dword [esi + 0x14], eax
xor eax, eax
mov ecx, dword [esi + 0x10]
and ecx, 0xffff
sete al
jmp dword [eax*4 + 0x4457d0]
movzx eax, bx
xor edx, edx
div ecx
jmp dword [0x4457f4]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x427c87
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
jmp case.0x42269e.317
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x10], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x42269e.317
cmp dword [esi + 0x10], reloc.OLEAUT32.dll_VariantClear
jl case.0x42269e.317
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov ecx, dword [case.0x427ab2.15]
nop
nop
nop
jmp ecx
mov byte [esi + 0x4f], 0
mov ecx, dword [esi + 0x14]
test cx, cx
mov dword [esi + 0x10], eax
je 0x427d24
lea eax, [esi + 0x4f]
cmp cx, 0x64
jb 0x427d2d
nop
nop
nop
nop
nop
nop
movzx ebx, cx
mov edx, ebx
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
imul edi, edx, 0x64
sub ecx, edi
movzx edi, cx
movzx edi, word [edi + edi + 0x43f528]
mov word [eax - 2], di
add eax, 0xfffffffe
mov ecx, edx
cmp ebx, 0x270f
ja 0x427cf0
jmp 0x427d2f
lea eax, [esi + 0x4e]
mov byte [esi + 0x4e], 0x30
jmp 0x427d54
mov edx, ecx
movzx edx, dx
cmp dx, 9
ja 0x427d45
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x427d54
movzx edx, word [edx + edx + 0x43f528]
mov word [eax - 2], dx
add eax, 0xfffffffe
mov dword [esi + 0x1e0], 0xbe58467c
mov dword [esi + 0x1e4], 0xab5caaaa
mov dword [esi + 0x1e8], 0x90978386
mov dword [esi + 0x1ec], 0x57be8096
mov byte [esi + 0x1f0], 0x76
mov dword [esi + 0x1f1], 0
mov dword [esi + 0x1f5], 0
mov dword [esi + 0x1f9], 0
mov word [esi + 0x1fd], 0
mov dword [esi + 0x50], 0
mov edx, dword [esi + 0x50]
cmp edx, 0x1e
ja 0x427e0d
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x50]
movzx ecx, byte [esi + edi + 0x1e0]
lea edi, [edx - 0x7325df51]
mov ebx, ecx
not ebx
or ebx, edi
and edi, ecx
add edi, ebx
neg edi
lea ecx, [edx + edi]
add ecx, 0x8cda20ae
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 0xf0]
add cl, 0x37
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x1f
jb 0x427dc0
movzx edx, byte [esi + 0x1e0]
test dl, dl
je 0x427e3d
lea edi, [esi + 0x1e1]
mov ebx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x427e30
jmp 0x427e40
mov ebx, dword [esi + 0xc]
mov byte [ebx], 0
movzx edx, byte [eax]
test dl, dl
je 0x427e5b
inc eax
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x427e50
mov byte [ebx], 0
mov byte [esi + 0x4f], 0
mov eax, dword [esi + 0x10]
test al, al
je 0x427e99
cmp al, 0x64
jb 0x427ea2
mov edx, eax
movzx eax, dl
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
movzx ecx, ax
shr ecx, 0xc
imul eax, ecx, 0x64
sub dl, al
movzx eax, dl
movzx eax, word [eax + eax + 0x43f528]
mov word [esi + 0x4d], ax
mov edx, 1
jmp 0x427eae
lea eax, [esi + 0x4e]
mov byte [esi + 0x4e], 0x30
jmp 0x427ed0
movzx ecx, al
mov edx, 3
cmp al, 9
ja 0x427ec1
movzx ecx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lea eax, [esi + edx]
add eax, 0x4b
mov byte [esi + edx + 0x4b], cl
jmp 0x427ed0
movzx ecx, word [ecx + ecx + 0x43f528]
lea eax, [esi + 0x4d]
mov word [esi + 0x4d], cx
mov dword [esi + 0x1e0], 0x187a0c52
mov dword [esi + 0x1e4], 0x4663834
mov dword [esi + 0x1e8], 0xd02fd3d7
mov dword [esi + 0x1ec], 0x4e6d16
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0xf
ja 0x427f60
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 0x1e0]
lea edi, [ecx + 0x4c]
add ecx, edx
and edi, edx
add edi, edi
sub ecx, edi
add ecx, 0x4a5a6c4c
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 0xf0]
mov edx, ecx
xor edx, 0xeb
and ecx, 0x6b
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x10
jb 0x427f10
movzx ecx, byte [esi + 0x1e0]
test cl, cl
je 0x427f8d
lea edx, [esi + 0x1e1]
mov edi, ebx
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 0x427f80
jmp 0x427f8f
mov edi, ebx
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x427fab
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427fa0
mov byte [edi], 0
mov dword [esi + 0x1e0], 0x2218067c
mov dword [esi + 0x1e4], 0x1f362a2a
mov byte [esi + 0x1e8], 0x7e
mov dword [esi + 0x1e9], 0
mov dword [esi + 0x1ed], 0
mov dword [esi + 0x1f1], 0
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x50]
cmp eax, 0x17
ja 0x428055
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
movzx edx, byte [esi + ecx + 0x1e0]
mov ecx, eax
and ecx, 0x14072c4f
xor eax, 0x94072c4f
lea ecx, [eax + ecx*2]
mov eax, ecx
and eax, edx
add ecx, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0xd7
mov ecx, dword [esi + 0x50]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x50]
mov eax, dword [esi + 0x50]
cmp eax, 0x18
jb 0x428000
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x42807b
lea ecx, [esi + 0x1e1]
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 0x428070
mov dword [esi + 0xc], edi
mov byte [edi], 0
mov eax, dword [0x4476c8]
mov dword [esi + 0x1e0], 0x5be959d5
mov dword [esi + 0x1e4], 0x57e455e9
mov dword [esi + 0x1e8], 0x53205123
mov dword [esi + 0x1ec], 0xaf12adda
mov dword [esi + 0x1f0], 0xab1ea91c
mov dword [esi + 0x1f4], 0xa5a4
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x17
ja 0x428149
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
movzx edi, byte [esi + ecx + 0x1e0]
lea ecx, [edx + edi]
add ecx, 0xad545274
add edx, 0xad545274
mov ebx, edi
not ebx
or ebx, edx
add ebx, edi
and edx, edi
add edx, ebx
inc edx
mov edi, ecx
not edi
and edi, edx
not edx
and edx, ecx
sub edx, edi
mov dword [esi + 0xf0], edx
mov ecx, dword [esi + 0xf0]
mov edx, ecx
or edx, 0xd3
and ecx, 0xd3
add ecx, edx
inc cl
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x1e0], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x18
jb 0x4280e0
lea edi, [esi + 0x1e0]
push 0x800
push 0
push edi
call eax
mov ebx, eax
mov dword [esi + 0xd0], 0
mov dword [esi + 0xd4], 0
lea ecx, [esi + 0xd0]
push eax
call fcn.00438fa0
movzx eax, al
jmp dword [eax*4 + 0x445808]
mov eax, dword [esi + 0x78]
mov ebx, dword [esi + 0xc]
jmp 0x4284fa
mov dword [esi + 0x6c], ebx
lea eax, [esi + 0x1e4]
push 0x344
push 0
push eax
call fcn.00408ee0
add esp, 0xc
mov dword [esi + 0x1e0], 0x348
push 0x588b3390
push dword [esi + 0xd0]
call fcn.0043b080
add esp, 8
push 0
push edi
push 0
push 0
call eax
lea eax, [esi + 0x224]
mov edi, dword [esi + 0xc]
lea ecx, [edi + 0x80]
mov dword [esi + 0x48], ecx
xor edx, edx
jmp 0x428208
mov byte [edi], cl
mov edx, 1
add eax, 2
add edx, ebx
cmp edx, 0x7f
mov edi, dword [esi + 0xc]
jae 0x4282a0
add edi, edx
movzx ecx, word [eax]
test cx, cx
je 0x4282a2
mov ebx, edx
cmp cx, 0x7f
jbe 0x4281f0
mov dword [esi + 0x10], ebx
mov ebx, edi
not ebx
add ebx, dword [esi + 0x48]
movzx edx, cx
cmp edx, 0x7ff
ja 0x428260
xor edx, edx
cmp ebx, 2
mov ebx, dword [esi + 0x10]
jb 0x4281f7
mov edx, ecx
shr edx, 6
add dl, 0xc0
mov byte [edi], dl
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov edx, 2
jmp 0x4281f7
mov dword [esi + 0x14], edx
xor edx, edx
cmp ebx, 3
mov ebx, dword [esi + 0x10]
jb 0x4281f7
mov edx, dword [esi + 0x14]
shr edx, 0xc
or dl, 0xe0
mov byte [edi], dl
shr dword [esi + 0x14], 6
mov edx, dword [esi + 0x14]
not edx
or edx, 0x3f
add edx, dword [esi + 0x14]
add dl, 0x81
mov byte [edi + 1], dl
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov edx, 3
jmp 0x4281f7
add edi, edx
mov byte [edi], 0
lea ebx, [esi + 0xf0]
push 0xdc
push 0
push ebx
call fcn.00408ee0
add esp, 0xc
mov word [esi + 0x134], 0xdc
push 0x1292c47a
push dword [esi + 0xd0]
call fcn.0043b080
add esp, 8
push ebx
push 0xffffffffffffffff
push 0
call eax
mov eax, dword [esi + 0x19c]
mov byte [esi + 0xc7], 0
test eax, eax
je 0x428343
lea ebx, [esi + 0xc7]
cmp eax, 0x64
jb 0x428352
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, dword [esi + 0xc]
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43f528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp dword [esi + 0xc], 0x270f
mov eax, edx
ja 0x428300
cmp edx, 9
ja 0x428359
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, ebx
mov byte [ebx - 1], al
dec ecx
jmp 0x42836a
lea ecx, [esi + 0xc6]
mov byte [esi + 0xc6], 0x30
jmp 0x42836a
mov edx, eax
cmp edx, 9
jbe 0x428334
movzx eax, word [edx + edx + 0x43f528]
mov ecx, ebx
mov word [ebx - 2], ax
add ecx, 0xfffffffe
mov eax, dword [esi + 0x1a0]
mov byte [esi + 0x55f], 0
test eax, eax
mov dword [esi + 0x10], ecx
je 0x4283d1
lea ebx, [esi + 0x55f]
cmp eax, 0x64
jb 0x4283e3
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, dword [esi + 0xc]
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43f528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp dword [esi + 0xc], 0x270f
mov eax, edx
ja 0x428390
cmp edx, 9
ja 0x4283ea
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x4283f9
lea eax, [esi + 0x55e]
mov dword [esi + 0xc], eax
mov byte [esi + 0x55e], 0x30
jmp 0x4283fc
mov edx, eax
cmp edx, 9
jbe 0x4283c4
movzx eax, word [edx + edx + 0x43f528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov dword [esi + 0xc], ebx
mov dword [esi + 0x50], 0x67ba8ca2
mov dword [esi + 0x54], 0x4346464d
mov dword [esi + 0x58], 0x41b25871
mov dword [esi + 0x5c], 0x5b595e51
mov dword [esi + 0x60], 0x5c534545
mov dword [esi + 0x64], 0xc7a68f52
mov dword [esi + 0x74], 0
mov eax, dword [esi + 0x74]
cmp eax, 0x17
ja 0x42848f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x74]
movzx edx, byte [esi + ecx + 0x50]
lea ebx, [eax + 0x5817bf64]
lea ecx, [eax + edx]
add ecx, 0x5817bf64
and ebx, edx
add eax, 0x64
and eax, edx
add eax, ebx
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0x44
mov ecx, dword [esi + 0x74]
mov byte [esi + ecx + 0x50], al
inc dword [esi + 0x74]
mov eax, dword [esi + 0x74]
cmp eax, 0x18
jb 0x428440
movzx eax, byte [esi + 0x50]
test al, al
je 0x4284ad
lea ecx, [esi + 0x51]
mov edx, dword [esi + 0x10]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4284a0
jmp 0x4284b0
mov edx, dword [esi + 0x10]
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x4284cd
inc edx
mov ecx, dword [esi + 0x6c]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4284c0
jmp 0x4284d0
mov ecx, dword [esi + 0x6c]
mov byte [edi], pe_nt_image_headers32
inc edi
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
test al, al
je 0x4284eb
inc edx
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4284e0
mov byte [edi], 0
push ecx
call dword [0x4477cc]
mov ebx, edi
mov eax, dword [esi + 0x78]
mov byte [ebx], 0
sub ebx, eax
mov dword [esi + 0x1e0], 0x8f8d82e3
mov dword [esi + 0x1e4], 0x8bd2929d
mov word [esi + 0x1e8], 0xb586
mov dword [esi + 0x1ea], 0
mov dword [esi + 0x1ed], 0
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x50]
cmp eax, 0x10
ja 0x428597
nop
mov ecx, dword [esi + 0x50]
mov eax, dword [esi + 0x50]
movzx edx, byte [esi + eax + 0x1e0]
lea edi, [ecx - 0x3ae4b5a9]
lea eax, [ecx + edx]
add eax, 0xc51b4a57
add ecx, 0x57
xor ecx, edi
and edi, edx
and ecx, edx
lea ecx, [ecx + edi*2]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esi + 0xf0], ecx
mov eax, dword [esi + 0xf0]
add al, 0x9f
mov ecx, dword [esi + 0x50]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x50]
mov eax, dword [esi + 0x50]
cmp eax, 0x11
jb 0x428540
mov ecx, dword [ebp + 8]
push ebx
mov edi, dword [esi + 0x78]
push edi
lea eax, [esi + 0x1e0]
push eax
call fcn.004096e0
jmp dword [0x445810]
push edi
call fcn.00408ca0
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x10], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x427ab2.15
cmp dword [esi + 0x10], reloc.OLEAUT32.dll_VariantClear
jl case.0x427ab2.15
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
jmp case.0x427ab2.15
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x10], eax
jmp dword [ecx*4 + 0x445728]
mov dword [esi + 0x1e0], 0x9b97b2bc
mov dword [esi + 0x1e4], 0xd8d2ccf4
mov byte [esi + 0x1e8], 0xbe
mov dword [esi + 0x1ed], 0
mov dword [esi + 0x1e9], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x10
ja 0x4286ab
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
mov edx, eax
and edx, 0x307deb7
xor eax, 0x8307deb7
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
dec al
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x11
jb 0x428660
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x4286cb
lea ecx, [esi + 0x1e1]
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4286c0
mov ebx, edi
mov byte [edi], 0
jmp case.0x426ecb.25
push 0x2e946639
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
mov byte [esi + 0x570], 0
mov dword [esi + 0x88], 0x200
lea edx, [esi + 0x88]
lea ecx, [esi + 0x570]
push edx
push ecx
push 6
mov dword [esi + 0xc], eax
call eax
mov dword [esi + 0x1e0], 0x3fd826fc
mov dword [esi + 0x1e4], 0x641f626b
mov dword [esi + 0x1e8], 0xf3d03b60
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1f0], 0
mov word [esi + 0x1f4], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x15
ja 0x4287aa
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ebx, byte [esi + ecx + 0x1e0]
lea ecx, [eax + 0x9f]
mov edx, ebx
not edx
or edx, ecx
and ecx, ebx
add ecx, edx
neg ecx
add eax, ecx
add eax, 0xe9d4999e
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0xa7
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x16
jb 0x428760
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x4287cb
lea ecx, [esi + 0x1e1]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4287c0
mov byte [edi], 0
movzx eax, byte [esi + 0x570]
test al, al
je 0x4287eb
lea ecx, [esi + 0x571]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4287e0
mov byte [edi], 0
mov byte [esi + 0x820], 0
mov dword [esi + 0x84], 0x200
lea eax, [esi + 0x84]
push eax
lea eax, [esi + 0x820]
push eax
push 5
call dword [esi + 0xc]
mov dword [esi + 0x1e0], 0x2358467c
mov dword [esi + 0x1e4], 0x108080b
mov dword [esi + 0x1e8], 0x39170e1d
mov word [esi + 0x1ec], 0x7552
mov dword [esi + 0x1ee], 0
mov byte [esi + 0x1f2], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x12
ja 0x4288ad
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax + 0xef]
mov ebx, 0x54bb4010
sub ebx, eax
or ebx, ecx
not ecx
or ecx, edx
add ebx, ecx
mov eax, 0xfffffffe
sub eax, ebx
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0x77
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x13
jb 0x428860
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x4288cb
lea ecx, [esi + 0x1e1]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4288c0
mov byte [edi], 0
movzx eax, byte [esi + 0x820]
test al, al
je 0x4288eb
lea ecx, [esi + 0x821]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4288e0
mov byte [edi], 0
mov byte [esi + 0xe0], 0
mov dword [esi + 0x80], 0x10
lea eax, [esi + 0x80]
lea ecx, [esi + 0xe0]
push eax
push ecx
push 4
call dword [esi + 0xc]
mov dword [esi + 0x1e0], 0x759896bc
mov dword [esi + 0x1e4], 0x747e295d
mov dword [esi + 0x1e8], 0x837a544f
mov byte [esi + 0x1ec], 0xa2
mov dword [esi + 0x1ed], 0
mov dword [esi + 0x1f1], 0
mov byte [esi + 0x1f5], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x15
ja 0x4289b1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax + 0x67]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x60263a67
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0x2f
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x16
jb 0x428970
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x4289db
lea ecx, [esi + 0x1e1]
nop
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 0x4289d0
mov byte [edi], 0
movzx eax, byte [esi + 0xe0]
test al, al
je 0x4289fb
lea ecx, [esi + 0xe1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4289f0
mov byte [edi], 0
mov word [esi + 0x774], 0
push 0x69ba345e
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
lea ebx, [esi + 0x774]
push 0x56
push ebx
call eax
mov dword [esi + 0x1e0], 0x87d8a6fc
mov dword [esi + 0x1e4], 0x68656399
mov dword [esi + 0x1e8], 0xb997689d
mov word [esi + 0x1ec], 0xf5d2
mov dword [esi + 0x1ee], 0
mov byte [esi + 0x1f2], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x12
ja 0x428ab2
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax - 0x4f389321]
add eax, 0xdf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xf0], edx
mov eax, dword [esi + 0xf0]
add al, 0xe7
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x13
jb 0x428a70
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x428adb
lea ecx, [esi + 0x1e1]
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 0x428ad0
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0x6c], eax
xor ecx, ecx
jmp 0x428b09
mov eax, dword [esi + 0xc]
mov byte [eax], dl
mov ecx, 1
add ebx, 2
add ecx, dword [esi + 0x10]
cmp ecx, 0x55
jae 0x428bb8
lea eax, [edi + ecx]
mov dword [esi + 0xc], eax
movzx edx, word [ebx]
test dx, dx
je 0x428bb3
cmp dx, 0x7f
mov dword [esi + 0x10], ecx
jbe 0x428af0
mov dword [esi + 0x48], ebx
mov ebx, dword [esi + 0xc]
not ebx
add ebx, dword [esi + 0x6c]
movzx eax, dx
mov dword [esi + 0x14], eax
cmp dword [esi + 0x14], 0x7ff
ja 0x428b70
xor ecx, ecx
cmp ebx, 2
mov ebx, dword [esi + 0x48]
jb 0x428afa
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov eax, dword [esi + 0xc]
mov byte [eax], cl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
mov ecx, 2
jmp 0x428afa
xor ecx, ecx
cmp ebx, 3
mov ebx, dword [esi + 0x48]
jb 0x428afa
mov ecx, dword [esi + 0x14]
shr ecx, 0xc
or cl, 0xe0
mov eax, dword [esi + 0xc]
mov byte [eax], cl
mov eax, dword [esi + 0x14]
shr eax, 6
mov ecx, eax
not ecx
or ecx, 0x3f
add ecx, eax
add cl, 0x81
mov eax, dword [esi + 0xc]
mov byte [eax + 1], cl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 2], dl
mov ecx, 3
jmp 0x428afa
mov edi, dword [esi + 0xc]
jmp 0x428bba
add edi, ecx
mov byte [edi], 0
mov dword [esi + 0x1e0], 0xb8d8a6fc
mov dword [esi + 0x1e4], 0xdf676964
mov dword [esi + 0x1e8], 0x64626a88
mov word [esi + 0x1ec], 0xbf67
mov byte [esi + 0x1ee], 0xf4
mov word [esi + 0x1ef], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x10
ja 0x428c52
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax - 0x6d834c21]
add eax, 0xdf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xf0], edx
mov eax, dword [esi + 0xf0]
add al, 0xe7
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x11
jb 0x428c10
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x428c7b
lea ecx, [esi + 0x1e1]
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 0x428c70
mov byte [edi], 0
call fcn.0042c140
jmp dword [0x445724]
mov ebx, edi
push 0x2e946639
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
mov byte [esi + 0x570], 0
mov dword [esi + 0x88], 0x200
lea edx, [esi + 0x88]
lea ecx, [esi + 0x570]
push edx
push ecx
push 6
mov dword [esi + 0xc], eax
call eax
mov dword [esi + 0x1e0], 0x3fd826fc
mov dword [esi + 0x1e4], 0x641f626b
mov dword [esi + 0x1e8], 0xf3d03b60
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1f0], 0
mov word [esi + 0x1f4], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x15
ja 0x428d5a
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx edx, byte [esi + ecx + 0x1e0]
lea ecx, [eax + 0x9f]
mov edi, edx
not edi
or edi, ecx
and ecx, edx
add ecx, edi
neg ecx
add eax, ecx
add eax, 0xe9d4999e
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0xa7
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x16
jb 0x428d10
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x428d7d
lea ecx, [esi + 0x1e1]
mov edx, ebx
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428d70
jmp 0x428d7f
mov edx, ebx
mov byte [edx], 0
movzx eax, byte [esi + 0x570]
test al, al
je 0x428dab
lea ecx, [esi + 0x571]
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 0x428da0
mov ebx, edx
mov byte [edx], 0
mov byte [esi + 0x820], 0
mov dword [esi + 0x84], 0x200
lea eax, [esi + 0x84]
push eax
lea eax, [esi + 0x820]
push eax
push 5
call dword [esi + 0xc]
mov dword [esi + 0x1e0], 0x2358467c
mov dword [esi + 0x1e4], 0x108080b
mov dword [esi + 0x1e8], 0x39170e1d
mov word [esi + 0x1ec], 0x7552
mov dword [esi + 0x1ee], 0
mov byte [esi + 0x1f2], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x12
ja 0x428e6d
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax + 0xef]
mov edi, 0x54bb4010
sub edi, eax
or edi, ecx
not ecx
or ecx, edx
add edi, ecx
mov eax, 0xfffffffe
sub eax, edi
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0x77
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x13
jb 0x428e20
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x428e8d
lea ecx, [esi + 0x1e1]
mov edi, ebx
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428e80
jmp 0x428e8f
mov edi, ebx
mov byte [edi], 0
movzx eax, byte [esi + 0x820]
test al, al
je 0x428ebb
lea ecx, [esi + 0x821]
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 0x428eb0
mov byte [edi], 0
mov byte [esi + 0xe0], 0
mov dword [esi + 0x80], 0x10
lea eax, [esi + 0x80]
lea ecx, [esi + 0xe0]
push eax
push ecx
push 4
call dword [esi + 0xc]
mov dword [esi + 0x1e0], 0x759896bc
mov dword [esi + 0x1e4], 0x747e295d
mov dword [esi + 0x1e8], 0x837a544f
mov byte [esi + 0x1ec], 0xa2
mov dword [esi + 0x1ed], 0
mov dword [esi + 0x1f1], 0
mov byte [esi + 0x1f5], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x15
ja 0x428f81
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax + 0x67]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x60263a67
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
add al, 0x2f
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x16
jb 0x428f40
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x428fab
lea ecx, [esi + 0x1e1]
nop
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 0x428fa0
mov byte [edi], 0
movzx eax, byte [esi + 0xe0]
test al, al
je 0x428fcb
lea ecx, [esi + 0xe1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428fc0
mov byte [edi], 0
mov word [esi + 0x774], 0
push 0x69ba345e
push dword [0x4489d4]
call fcn.0043b080
add esp, 8
lea ebx, [esi + 0x774]
push 0x56
push ebx
call eax
mov dword [esi + 0x1e0], 0x87d8a6fc
mov dword [esi + 0x1e4], 0x68656399
mov dword [esi + 0x1e8], 0xb997689d
mov word [esi + 0x1ec], 0xf5d2
mov dword [esi + 0x1ee], 0
mov byte [esi + 0x1f2], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x12
ja 0x429082
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax - 0x4f389321]
add eax, 0xdf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xf0], edx
mov eax, dword [esi + 0xf0]
add al, 0xe7
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x13
jb 0x429040
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x4290ab
lea ecx, [esi + 0x1e1]
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 0x4290a0
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0x48], eax
xor ecx, ecx
mov dword [esi + 0xc], edi
jmp 0x4290d8
mov byte [edi], dl
mov ecx, 1
add ebx, 2
add ecx, eax
cmp ecx, 0x55
mov edi, dword [esi + 0xc]
jae 0x429170
add edi, ecx
movzx edx, word [ebx]
test dx, dx
je 0x429172
mov eax, ecx
cmp dx, 0x7f
jbe 0x4290c0
mov dword [esi + 0x10], ebx
mov ebx, edi
not ebx
add ebx, dword [esi + 0x48]
movzx ecx, dx
cmp ecx, 0x7ff
ja 0x429130
xor ecx, ecx
cmp ebx, 2
mov ebx, dword [esi + 0x10]
jb 0x4290c7
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
mov ecx, 2
jmp 0x4290c7
mov dword [esi + 0x14], ecx
xor ecx, ecx
cmp ebx, 3
mov ebx, dword [esi + 0x10]
jb 0x4290c7
mov ecx, dword [esi + 0x14]
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
shr dword [esi + 0x14], 6
mov ecx, dword [esi + 0x14]
not ecx
or ecx, 0x3f
add ecx, dword [esi + 0x14]
add cl, 0x81
mov byte [edi + 1], cl
and dl, 0x3f
or dl, 0x80
mov byte [edi + 2], dl
mov ecx, 3
jmp 0x4290c7
add edi, ecx
mov byte [edi], 0
mov dword [esi + 0x1e0], 0xb8d8a6fc
mov dword [esi + 0x1e4], 0xdf676964
mov dword [esi + 0x1e8], 0x64626a88
mov word [esi + 0x1ec], 0xbf67
mov byte [esi + 0x1ee], 0xf4
mov word [esi + 0x1ef], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x10
ja 0x429202
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1e0]
lea edx, [eax - 0x6d834c21]
add eax, 0xdf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xf0], edx
mov eax, dword [esi + 0xf0]
add al, 0xe7
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1e0], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x11
jb 0x4291c0
movzx eax, byte [esi + 0x1e0]
test al, al
je 0x42922b
lea ecx, [esi + 0x1e1]
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 0x429220
mov byte [edi], 0
call fcn.0042c140
jmp 0x4286d5
mov ecx, edi
call fcn.0042dc20
push edi
call fcn.00408ca0
add esp, 4
mov ecx, edi
call fcn.0042dc20
push edi
call fcn.00408ca0
add esp, 4
jmp dword [0x445784]
int3
mov edx, 0x79b86d30
mov bh, 0xef
mov eax, 0xa824848b
add al, byte [eax]
add byte [ebx + 0x2ac248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x498], ecx
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x498]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x410], 1
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x410]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x230]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x108]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x11c]
mov byte [esp + 0x13c], cl
mov byte [esp + 0x1e0], 0xd2
mov byte [esp + 0x1e1], 0x65
mov byte [esp + 0x1e2], 0xf5
mov byte [esp + 0x1e3], 0x63
mov byte [esp + 0x1e4], 0xcf
mov byte [esp + 0x1e5], 0x61
mov byte [esp + 0x1e6], 0xcf
mov byte [esp + 0x1e7], 0x6f
mov byte [esp + 0x1e8], 0xfa
mov byte [esp + 0x1e9], 0x6d
mov byte [esp + 0x1ea], 0xa0
mov byte [esp + 0x1eb], 0x6b
mov byte [esp + 0x1ec], 0xc5
mov byte [esp + 0x1ed], 0x69
mov byte [esp + 0x1ee], 0xf4
mov byte [esp + 0x1ef], 0x57
mov byte [esp + 0x1f0], 0xfd
mov byte [esp + 0x1f1], 0x55
mov byte [esp + 0x1f2], 0xe8
mov byte [esp + 0x1f3], 0x53
mov byte [esp + 0x1f4], 0xc5
mov byte [esp + 0x1f5], 0x51
mov byte [esp + 0x1f6], 0xc3
mov byte [esp + 0x1f7], 0x5f
mov byte [esp + 0x1f8], 0xf5
mov byte [esp + 0x1f9], 0x5d
mov byte [esp + 0x1fa], 0x5c
mov byte [esp + 0x1fb], 0x5b
mov dword [esp + 0x200], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x24
jae 0x429a1e
jmp 0x4299b2
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x44]
movzx edx, byte [esp + edx + 0x1e0]
mov esi, ecx
add esi, 0xb818ec11
mov edi, edx
not edi
mov ebx, esi
or ebx, edi
and esi, edx
add ebx, esi
neg ebx
lea ecx, [ecx + ebx - 0x47e713f0]
mov dword [esp + 0x4bc], ecx
mov edx, dword [esp + 0x4bc]
mov ecx, edx
or ecx, 0x88
and edx, 0x88
add ecx, edx
inc cl
mov edx, dword [esp + 0x44]
mov byte [esp + edx + 0x1e0], cl
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
cmp ecx, 0x24
jb 0x4299b2
jmp 0x429a1e
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x108]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x1e0]
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
sub esp, 0x18
not eax
shr eax, 0x1f
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
call fcn.0040f090
mov dword [esp + 0x3a8], 0
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3a8]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x384]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x2f0], 0
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xe0]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x440], ecx
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x440]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [esp + 0xf8]
sub ax, 8
sete al
mov ecx, dword [esp + 0x360]
mov edx, dword [esp + 0x364]
mov ecx, dword [edx + ecx*4]
jmp ecx
movzx eax, bl
and eax, 1
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x39c]
mov ecx, dword [esp + 0x398]
mov eax, dword [eax + ecx*4]
jmp eax
sub esi, esi
fnstsw word [0x44a3b192]
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x334]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x408]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
setne al
mov dword [esp + 0x2e8], 0
mov ecx, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
lea eax, [esp + 0x168]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x478], 1
mov edx, dword [esp + 0x47c]
mov esi, dword [esp + 0x478]
mov edx, dword [edx + esi*4]
jmp edx
mov ax, word [esp + 0x230]
sub ax, 8
sete bl
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x424]
mov eax, dword [ecx + eax*4]
jmp eax
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push esp
les ecx, [edx - 0x5536736e]
stosb byte es:[edi], al
jl 0x429c6e
cmpsb byte [esi], byte es:[edi]
xchg esp, eax
je 0x429c73
inc esp
insb byte es:[edi], dx
add ecx, dword [ebp + 0x1682484]
add byte [eax], al
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x3a0], 1
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0xdc]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429260
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
add eax, 1
mov dword [esp], eax
call fcn.00408c90
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0xdc]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x110]
mov edx, dword [esp + 0xd8]
sub edx, 0x80b91829
add edx, 1
add edx, 0x80b91829
mov esi, dword [esp + 0x30]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x429d6c
jmp 0x429e51
mov dword [esp + 0x254], eax
cmp ecx, 0
sete al
mov byte [esp + 0x75], al
mov dword [esp + 0x258], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x429d96
jmp 0x429e51
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x429da6
jmp 0x429e51
add edx, 2
mov dword [esp + 0x27c], edx
mov edx, esi
xor edx, 0xffffffff
add edx, dword [esp + 0x254]
cmp bx, 0x80
jae 0x429dcc
mov byte [esi], bl
mov eax, 1
jmp 0x429e35
cmp bx, 0x800
jae 0x429df6
xor eax, eax
cmp edx, 1
jbe 0x429e35
mov dx, bx
shr dx, 6
add dl, 0xc0
mov byte [esi], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
mov eax, 2
jmp 0x429e35
xor eax, eax
cmp edx, 2
jbe 0x429e35
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
mov ax, dx
add ax, 1
xor dx, 0xffff
or dx, 0x3f
add ax, dx
xor al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov eax, 3
add esi, eax
cmp esi, edi
mov ebx, dword [esp + 0x27c]
mov al, byte [esp + 0x75]
mov ecx, dword [esp + 0x258]
jb 0x429d84
mov byte [esi], 0
mov eax, dword [esp + 0x30]
add eax, 6
mov ecx, dword [ebp + 8]
add ecx, 0x14
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x30]
add eax, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x20
mov eax, dword [esp + 0x30]
add eax, 8
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x30]
add eax, 0xa
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x30]
add eax, 0xc
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [esp + 0x138]
mov esi, dword [eax]
mov esi, dword [esi + 0x50]
lea edi, [esp + 0x12c]
mov dword [esp + 0x14], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call esi
sub esp, 0x18
not eax
shr eax, 0x1f
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x468]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
movsx ecx, word [esp + 0x4f0]
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 [ebp + 8]
mov word [eax + 0x28], dx
mov dword [esp + 0x388], 0
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [esp + 0x4e8]
sub ax, 2
sete bl
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + eax*4]
jmp eax
jns case.0x427ab2.66
mov esp, 0x24848bc6
rol byte [edx], 0
add byte [ebx + 0x2c4248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
retf 0xb173
call fcn.0040f090
mov dword [esp + 0x3e8], 0
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x368], ecx
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x368]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
mov edx, dword [esp + 0x470]
mov esi, dword [esp + 0x474]
mov edx, dword [esi + edx*4]
jmp edx
call fcn.0040f090
mov dword [esp + 0x390], 0
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
push ebx
ret 0x749b
call fcn.0040f090
lea eax, [esp + 0x108]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x38]
mov byte [esp + 0x144], cl
mov byte [esp + 0x78], 0xe1
mov byte [esp + 0x79], 0xb5
mov byte [esp + 0x7a], 0xc6
mov byte [esp + 0x7b], 0xb3
mov byte [esp + 0x7c], 0x3f
mov byte [esp + 0x7d], 0xb1
mov byte [esp + 0x7e], 0x3c
mov byte [esp + 0x7f], 0xcf
mov byte [esp + 0x80], 0xb1
mov byte [esp + 0x81], 0xcd
mov byte [esp + 0x82], 0xb8
mov byte [esp + 0x83], 0xcb
mov byte [esp + 0x84], 0xbe
mov byte [esp + 0x85], 0xc9
mov byte [esp + 0x86], 0x94
mov byte [esp + 0x87], 0xc7
mov byte [esp + 0x88], 0xb9
mov byte [esp + 0x89], 0xc5
mov byte [esp + 0x8a], 0x48
mov byte [esp + 0x8b], 0xc3
mov byte [esp + 0x8c], 0xb9
mov byte [esp + 0x8d], 0xc1
mov byte [esp + 0x8e], 0xc0
mov byte [esp + 0x8f], 0xdf
mov word [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x4c]
cmp ecx, 0x1e
jae 0x42a3cb
jmp 0x42a367
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
movzx edx, byte [esp + edx + 0x78]
mov esi, ecx
and esi, 0x307c0bb9
xor ecx, 0x307c0bb9
lea ecx, [ecx + esi*2]
mov esi, ecx
and esi, edx
mov edi, esi
add edi, edi
xor ecx, edx
lea ecx, [ecx + esi*2]
mov edx, ecx
xor edx, edi
not edi
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x4c4], ecx
mov ecx, dword [esp + 0x4c4]
add cl, 0xf1
mov edx, dword [esp + 0x4c]
mov byte [esp + edx + 0x78], cl
mov ecx, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, 0x1e
jb 0x42a367
jmp 0x42a3cb
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xf8]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x78]
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
sub esp, 0x18
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x370], 1
mov edx, dword [esp + 0x374]
mov esi, dword [esp + 0x370]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x238]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x22c]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429260
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x124]
sub eax, 0xc4dee00e
add eax, 1
add eax, 0xc4dee00e
mov dword [esp], eax
call fcn.00408c90
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x238]
mov eax, dword [esp + 0x22c]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x238]
mov edx, dword [esp + 0x124]
add edx, 1
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42a4cd
jmp 0x42a5b2
mov dword [esp + 0x264], eax
cmp ecx, 0
sete al
mov byte [esp + 0x77], al
mov dword [esp + 0x268], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42a4f7
jmp 0x42a5b2
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42a507
jmp 0x42a5b2
add edx, 2
mov dword [esp + 0x278], edx
mov edx, esi
xor edx, 0xffffffff
add edx, dword [esp + 0x264]
cmp bx, 0x80
jae 0x42a52d
mov byte [esi], bl
mov eax, 1
jmp 0x42a596
cmp bx, 0x800
jae 0x42a557
xor eax, eax
cmp edx, 1
jbe 0x42a596
mov dx, bx
shr dx, 6
add dl, 0xc0
mov byte [esi], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
mov eax, 2
jmp 0x42a596
xor eax, eax
cmp edx, 2
jbe 0x42a596
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
mov ax, dx
add ax, 1
xor dx, 0xffff
or dx, 0x3f
add ax, dx
xor al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov eax, 3
add esi, eax
cmp esi, edi
mov ebx, dword [esp + 0x278]
mov al, byte [esp + 0x77]
mov ecx, dword [esp + 0x268]
jb 0x42a4e5
mov byte [esi], 0
mov al, byte [esp + 0x120]
mov byte [esp + 0x148], al
mov byte [esp + 0x208], 0x77
mov byte [esp + 0x209], 0
mov byte [esp + 0x20a], 0xc
mov byte [esp + 0x20b], 7
mov byte [esp + 0x20c], 3
mov byte [esp + 0x20d], 0x1a
mov byte [esp + 0x20e], 5
mov byte [esp + 0x20f], 0x97
mov word [esp + 0x214], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0xe
jae 0x42a67f
jmp 0x42a62b
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 0x208]
mov edx, eax
add edx, 0x97c67144
and edx, ecx
lea eax, [eax + ecx - 0x68398ebc]
add edx, edx
sub eax, edx
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x4c8]
add al, 0x24
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x208], al
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
cmp eax, 0xe
jb 0x42a62b
jmp 0x42a67f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x208]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040c610
mov dword [esp + 0x4b0], eax
mov edx, dword [esp + 0x124]
mov esi, dword [esp + 0x4b0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov edi, eax
sub edi, esi
lea ecx, [edx + edi]
lea edx, [edx + edi + 1]
seta bl
lea edi, [esi + ecx + 1]
sub edi, eax
seta bh
and bl, bh
test bl, 1
jne 0x42a711
mov ecx, edx
shr ecx, 2
mov edi, eax
mov ebx, esi
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ecx, edx
and ecx, 0xfffffffc
add eax, ecx
add esi, ecx
mov ecx, edx
shr ecx, 1
and ecx, 1
mov edi, eax
mov ebx, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
and ecx, 1
cmp ecx, 0
je 0x42a736
and edx, 2
mov cl, byte [esi + edx]
mov byte [eax + edx], cl
jmp 0x42a736
cmp edx, 0
je 0x42a736
add esi, ecx
add eax, ecx
mov ecx, esi
mov edi, eax
add edx, 0xffffffff
add ecx, 0xffffffff
mov bl, byte [esi]
add edi, 0xffffffff
mov byte [eax], bl
cmp edx, 0
mov eax, edi
mov esi, ecx
jne 0x42a71e
jmp 0x42a736
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x404]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xe0]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x34]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x128]
xor eax, eax
test ecx, ecx
setns cl
mov dword [esp + 0x458], 0
mov edx, dword [esp + 0x45c]
mov esi, dword [esp + 0x458]
mov edx, dword [edx + esi*4]
jmp edx
mov al, byte [esp + 0x134]
mov byte [esp + 0x14c], al
mov byte [esp + 0x218], 0x2f
mov byte [esp + 0x219], 0x81
mov byte [esp + 0x21a], 0x53
mov byte [esp + 0x21b], 0x83
mov byte [esp + 0x21c], 0x56
mov byte [esp + 0x21d], 0x9d
mov byte [esp + 0x21e], 0x9c
mov byte [esp + 0x21f], 0x9f
mov word [esp + 0x220], 0
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x54]
cmp eax, 0xa
jae 0x42a882
jmp 0x42a82e
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx ecx, byte [esp + ecx + 0x218]
mov edx, eax
add edx, 0xc0656beb
lea eax, [eax + ecx - 0x3f9a9415]
and edx, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x4cc]
add al, 0x93
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x218], al
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
cmp eax, 0xa
jb 0x42a82e
jmp 0x42a882
lea eax, [esp + 0x218]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0x138], eax
mov al, byte [esp + 0x130]
mov byte [esp + 0x150], al
mov byte [esp + 0x168], 0x2b
mov byte [esp + 0x169], 0x41
mov byte [esp + 0x16a], 0x1f
mov byte [esp + 0x16b], 0x43
mov byte [esp + 0x16c], 0x16
mov byte [esp + 0x16d], 0x5d
mov byte [esp + 0x16e], 3
mov byte [esp + 0x16f], 0x5f
mov byte [esp + 0x170], 3
mov byte [esp + 0x171], 0x59
mov byte [esp + 0x172], 0x34
mov byte [esp + 0x173], 0x5b
mov byte [esp + 0x174], 0x7a
mov byte [esp + 0x175], 0x55
mov byte [esp + 0x176], 0x6e
mov byte [esp + 0x177], 0x57
mov byte [esp + 0x178], 0x76
mov byte [esp + 0x179], 0x51
mov byte [esp + 0x17a], 0xe
mov byte [esp + 0x17b], 0x53
mov byte [esp + 0x17c], 0
mov byte [esp + 0x17d], 0x6d
mov byte [esp + 0x17e], 0x3d
mov byte [esp + 0x17f], 0x6f
mov byte [esp + 0x180], 0x39
mov byte [esp + 0x181], 0x69
mov byte [esp + 0x182], 0x48
mov byte [esp + 0x183], 0x6b
mov byte [esp + 0x184], 3
mov byte [esp + 0x185], 0x65
mov byte [esp + 0x186], 0x1f
mov byte [esp + 0x187], 0x67
mov byte [esp + 0x188], 0x10
mov byte [esp + 0x189], 0x61
mov byte [esp + 0x18a], 0x2d
mov byte [esp + 0x18b], 0x63
mov byte [esp + 0x18c], 0x50
mov byte [esp + 0x18d], 0x7d
mov byte [esp + 0x18e], 0x1d
mov byte [esp + 0x18f], 0x7f
mov byte [esp + 0x190], 0x2f
mov byte [esp + 0x191], 0x79
mov byte [esp + 0x192], 8
mov byte [esp + 0x193], 0x7b
mov byte [esp + 0x194], 5
mov byte [esp + 0x195], 0x75
mov byte [esp + 0x196], 6
mov byte [esp + 0x197], 0x77
mov byte [esp + 0x198], 0x15
mov byte [esp + 0x199], 0x71
mov byte [esp + 0x19a], 0xfc
mov byte [esp + 0x19b], 0x73
mov byte [esp + 0x19c], 9
mov byte [esp + 0x19d], 0x8d
mov byte [esp + 0x19e], 0xfa
mov byte [esp + 0x19f], 0x8f
mov byte [esp + 0x1a0], 0xf7
mov byte [esp + 0x1a1], 0x89
mov byte [esp + 0x1a2], 0xe5
mov byte [esp + 0x1a3], 0x8b
mov byte [esp + 0x1a4], 1
mov byte [esp + 0x1a5], 0x85
mov byte [esp + 0x1a6], 9
mov byte [esp + 0x1a7], 0x87
mov byte [esp + 0x1a8], 0xa
mov byte [esp + 0x1a9], 0x81
mov byte [esp + 0x1aa], 0xff
mov byte [esp + 0x1ab], 0x83
mov byte [esp + 0x1ac], 0xf5
mov byte [esp + 0x1ad], 0x9d
mov byte [esp + 0x1ae], 0x9c
mov byte [esp + 0x1af], 0x9f
mov byte [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
cmp eax, 0x4d
jae 0x42ab6d
jmp 0x42ab11
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
movzx ecx, byte [esp + ecx + 0x168]
mov edx, eax
add edx, 0x119e30cb
add eax, 0xcb
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x4d0], edx
mov eax, dword [esp + 0x4d0]
add al, 0x73
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0x168], al
mov eax, dword [esp + 0x58]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
cmp eax, 0x4d
jb 0x42ab11
jmp 0x42ab6d
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x48c]
mov eax, dword [ecx + eax*4]
jmp eax
add eax, 0x8b7149bc
test byte [eax + eax], ah
add dword [eax], eax
add byte [ecx + 0x15ff2404], cl
dec esp
or byte [eax + eax - 0x7d], al
in al, dx
add al, 0x89
test byte [esp + edx*8], ah
add byte [eax], al
add byte [ebx + 0x1002484], cl
add byte [eax], al
mov ecx, dword [esp + 0xd4]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429260
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd0]
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov dword [esp], eax
call fcn.00408c90
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xd4]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x100]
mov edx, dword [esp + 0xd0]
add edx, 1
mov esi, dword [esp + 0x2c]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42ac25
jmp 0x42ad0a
mov dword [esp + 0x24c], eax
cmp ecx, 0
sete al
mov byte [esp + 0x74], al
mov dword [esp + 0x250], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42ac4f
jmp 0x42ad0a
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42ac5f
jmp 0x42ad0a
add edx, 2
mov dword [esp + 0x274], edx
mov edx, esi
xor edx, 0xffffffff
add edx, dword [esp + 0x24c]
cmp bx, 0x80
jae 0x42ac85
mov byte [esi], bl
mov eax, 1
jmp 0x42acee
cmp bx, 0x800
jae 0x42acaf
xor eax, eax
cmp edx, 1
jbe 0x42acee
mov dx, bx
shr dx, 6
add dl, 0xc0
mov byte [esi], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
mov eax, 2
jmp 0x42acee
xor eax, eax
cmp edx, 2
jbe 0x42acee
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
mov ax, dx
add ax, 1
xor dx, 0xffff
or dx, 0x3f
add ax, dx
xor al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov eax, 3
add esi, eax
cmp esi, edi
mov ebx, dword [esp + 0x274]
mov al, byte [esp + 0x74]
mov ecx, dword [esp + 0x250]
jb 0x42ac3d
mov byte [esi], 0
mov eax, dword [esp + 0x2c]
add eax, 6
mov ecx, dword [ebp + 8]
add ecx, 0x2a
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x2c]
add eax, 4
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x20
mov eax, dword [esp + 0x2c]
add eax, 8
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x2c]
add eax, 0xa
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x2c]
add eax, 0xc
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov byte [eax], 0
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x480], 0
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x480]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x108]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x38]
mov byte [esp + 0x154], cl
mov byte [esp + 0x78], 0xe1
mov byte [esp + 0x79], 0xb5
mov byte [esp + 0x7a], 0xc6
mov byte [esp + 0x7b], 0xb3
mov byte [esp + 0x7c], 0x3f
mov byte [esp + 0x7d], 0xb1
mov byte [esp + 0x7e], 0x3c
mov byte [esp + 0x7f], 0xcf
mov byte [esp + 0x80], 0xb1
mov byte [esp + 0x81], 0xcd
mov byte [esp + 0x82], 0xb8
mov byte [esp + 0x83], 0xcb
mov byte [esp + 0x84], 0xbe
mov byte [esp + 0x85], 0xc9
mov byte [esp + 0x86], 0x94
mov byte [esp + 0x87], 0xc7
mov byte [esp + 0x88], 0xb9
mov byte [esp + 0x89], 0xc5
mov byte [esp + 0x8a], 0x48
mov byte [esp + 0x8b], 0xc3
mov byte [esp + 0x8c], 0xb9
mov byte [esp + 0x8d], 0xc1
mov byte [esp + 0x8e], 0xc0
mov byte [esp + 0x8f], 0xdf
mov word [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x1e
jae 0x42afcc
jmp 0x42af68
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
movzx edx, byte [esp + edx + 0x78]
mov esi, ecx
and esi, 0x307c0bb9
xor ecx, 0x307c0bb9
lea ecx, [ecx + esi*2]
mov esi, ecx
and esi, edx
mov edi, esi
add edi, edi
xor ecx, edx
lea ecx, [ecx + esi*2]
mov edx, ecx
xor edx, edi
not edi
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x4d4], ecx
mov ecx, dword [esp + 0x4d4]
add cl, 0xf1
mov edx, dword [esp + 0x5c]
mov byte [esp + edx + 0x78], cl
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x1e
jb 0x42af68
jmp 0x42afcc
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xf8]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x78]
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
sub esp, 0x18
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x29c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x128]
xor ecx, ecx
sub eax, 1
setne cl
mov dword [esp + 0x448], ecx
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call esi
sub esp, 4
mov dword [esp + 0x320], 1
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x108]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x4e8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x118]
mov byte [esp + 0x158], cl
mov byte [esp + 0x1b8], 0x8b
mov byte [esp + 0x1b9], 0x35
mov byte [esp + 0x1ba], 0xbf
mov byte [esp + 0x1bb], 0x33
mov byte [esp + 0x1bc], 0xbc
mov byte [esp + 0x1bd], 0x31
mov byte [esp + 0x1be], 0xbe
mov byte [esp + 0x1bf], 0x2f
mov byte [esp + 0x1c0], 0xb5
mov byte [esp + 0x1c1], 0x2d
mov byte [esp + 0x1c2], 0xbe
mov byte [esp + 0x1c3], 0x2b
mov byte [esp + 0x1c4], 0xa6
mov byte [esp + 0x1c5], 0x29
mov byte [esp + 0x1c6], 0x84
mov byte [esp + 0x1c7], 0x27
mov byte [esp + 0x1c8], 0xb1
mov byte [esp + 0x1c9], 0x25
mov byte [esp + 0x1ca], 0xb7
mov byte [esp + 0x1cb], 0x23
mov byte [esp + 0x1cc], 0xb9
mov byte [esp + 0x1cd], 0x21
mov byte [esp + 0x1ce], 0x86
mov byte [esp + 0x1cf], 0x1f
mov byte [esp + 0x1d0], 0x8f
mov byte [esp + 0x1d1], 0x1d
mov byte [esp + 0x1d2], 0x8e
mov byte [esp + 0x1d3], 0x1b
mov byte [esp + 0x1d4], 0x81
mov byte [esp + 0x1d5], 0x19
mov byte [esp + 0x1d6], 0x18
mov byte [esp + 0x1d7], 0x17
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x24
jae 0x42b23b
jmp 0x42b1df
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
movzx esi, byte [esp + ecx + 0x1b8]
mov ecx, edx
add ecx, 0xc53e1509
mov edi, ecx
and edi, esi
xor ecx, esi
add edx, 9
and edx, esi
mov esi, edi
add esi, edx
sub ecx, esi
lea ecx, [ecx + edi*2]
mov dword [esp + 0x4d8], ecx
mov ecx, dword [esp + 0x4d8]
add cl, 0xc1
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x1b8], cl
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
cmp ecx, 0x24
jb 0x42b1df
jmp 0x42b23b
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x4e8]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x1b8]
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
sub esp, 0x18
not eax
shr eax, 0x1f
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x3d0], 0
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
lea eax, [esp + 0x230]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x3c]
mov byte [esp + 0x15c], cl
mov byte [esp + 0xb8], 0x9b
mov byte [esp + 0xb9], 0xd9
mov byte [esp + 0xba], 0xbb
mov byte [esp + 0xbb], 0xdb
mov byte [esp + 0xbc], 0x94
mov byte [esp + 0xbd], 0xe5
mov byte [esp + 0xbe], 0x9a
mov byte [esp + 0xbf], 0xe7
mov byte [esp + 0xc0], 0x89
mov byte [esp + 0xc1], 0xe1
mov byte [esp + 0xc2], 0x95
mov byte [esp + 0xc3], 0xe3
mov byte [esp + 0xc4], 0x9a
mov byte [esp + 0xc5], 0xed
mov byte [esp + 0xc6], 0xee
mov byte [esp + 0xc7], 0xef
mov byte [esp + 0xc8], 0
mov dword [esp + 0x64], 0
mov ecx, dword [esp + 0x64]
cmp ecx, 0x11
jae 0x42b44d
jmp 0x42b3ee
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x64]
movzx edx, byte [esp + edx + 0xb8]
add ecx, 0xf462485c
mov esi, ecx
and esi, edx
mov edi, esi
add edi, edi
xor ecx, edx
lea ecx, [ecx + esi*2]
mov edx, ecx
xor edx, edi
not edi
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x4dc], ecx
mov ecx, dword [esp + 0x4dc]
add cl, 0x7c
mov edx, dword [esp + 0x64]
mov byte [esp + edx + 0xb8], cl
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x64]
cmp ecx, 0x11
jb 0x42b3ee
jmp 0x42b44d
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x230]
mov dword [esp + 0xc], edx
lea edx, [esp + 0xb8]
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
sub esp, 0x18
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x430], 1
mov edx, dword [esp + 0x434]
mov esi, dword [esp + 0x430]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040f090
mov dword [esp + 0x3e0], 1
mov eax, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x378], 0
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xd4]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429260
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd0]
add eax, 1
mov dword [esp], eax
call fcn.00408c90
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xd4]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x100]
mov edx, dword [esp + 0xd0]
add edx, 1
mov esi, dword [esp + 0x2c]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42b58a
jmp 0x42b66f
mov dword [esp + 0x244], eax
cmp ecx, 0
sete al
mov byte [esp + 0x73], al
mov dword [esp + 0x248], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42b5b4
jmp 0x42b66f
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42b5c4
jmp 0x42b66f
add edx, 2
mov dword [esp + 0x270], edx
mov edx, esi
xor edx, 0xffffffff
add edx, dword [esp + 0x244]
cmp bx, 0x80
jae 0x42b5ea
mov byte [esi], bl
mov eax, 1
jmp 0x42b653
cmp bx, 0x800
jae 0x42b614
xor eax, eax
cmp edx, 1
jbe 0x42b653
mov dx, bx
shr dx, 6
add dl, 0xc0
mov byte [esi], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
mov eax, 2
jmp 0x42b653
xor eax, eax
cmp edx, 2
jbe 0x42b653
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
mov ax, dx
add ax, 1
xor dx, 0xffff
or dx, 0x3f
add ax, dx
xor al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov eax, 3
add esi, eax
cmp esi, edi
mov ebx, dword [esp + 0x270]
mov al, byte [esp + 0x73]
mov ecx, dword [esp + 0x248]
jb 0x42b5a2
mov byte [esi], 0
mov eax, dword [esp + 0x2c]
add eax, 6
mov ecx, dword [ebp + 8]
add ecx, 0x2a
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x2c]
add eax, 4
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x20
mov eax, dword [esp + 0x2c]
add eax, 8
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x2c]
add eax, 0xa
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, eax
inc ecx
mov dword [esp + 0x24], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x2c]
add eax, 0xc
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov byte [eax], 0
mov dword [esp + 0x348], 1
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax]
mov edx, dword [esp + 0x300]
mov esi, dword [esp + 0x304]
mov edx, dword [esi + edx*4]
jmp edx
mov cl, al
and ecx, 1
mov dword [esp + 0x428], ecx
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x428]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
call fcn.0040f090
mov dword [esp + 0x328], 0
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x418], 0
mov eax, dword [esp + 0x41c]
mov ecx, dword [esp + 0x418]
mov eax, dword [eax + ecx*4]
jmp eax
imul esp, dword [esi + eax*2 - 0x45], 0x84058033
cmpsb byte [esi], byte es:[edi]
cmc
and ch, byte [edi - 0x7b]
aaa
pop ebx
sub al, 0xc7
test byte [eax], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x12c2484], cl
add byte [eax], al
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xe0]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x34]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x314]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x308]
mov edx, dword [esp + 0x30c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040f090
mov dword [esp + 0x438], 1
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov al, byte [esp + 0x40]
mov byte [esp + 0x160], al
mov byte [esp + 0x98], 0x34
mov byte [esp + 0x99], 0x79
mov byte [esp + 0x9a], 0x29
mov byte [esp + 0x9b], 0x7b
mov byte [esp + 0x9c], 0x2b
mov byte [esp + 0x9d], 0x7d
mov byte [esp + 0x9e], 0x28
mov byte [esp + 0x9f], 0x7f
mov byte [esp + 0xa0], 0x12
mov byte [esp + 0xa1], 0x71
mov byte [esp + 0xa2], 0x35
mov byte [esp + 0xa3], 0x73
mov byte [esp + 0xa4], 0x29
mov byte [esp + 0xa5], 0x75
mov byte [esp + 0xa6], 0x2b
mov byte [esp + 0xa7], 0x77
mov byte [esp + 0xa8], 0x20
mov byte [esp + 0xa9], 0x89
mov byte [esp + 0xaa], 0xba
mov byte [esp + 0xab], 0x8b
mov byte [esp + 0xac], 0x8a
mov byte [esp + 0xad], 0x8d
mov dword [esp + 0xb1], 0
mov dword [esp + 0xae], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x1d
jae 0x42ba87
jmp 0x42ba35
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
add edx, 0xcd6a63ef
add eax, 0xef
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x4e0], edx
mov eax, dword [esp + 0x4e0]
add al, 0x77
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 0x98], al
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
cmp eax, 0x1d
jb 0x42ba35
jmp 0x42ba87
lea eax, [esp + 0x98]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea esi, [esp + 0xe8]
mov dword [esp + 0x20], esi
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
sub esp, 0x24
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x4a0], 1
mov edx, dword [esp + 0x4a4]
mov esi, dword [esp + 0x4a0]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040f090
mov dword [esp + 0x460], 1
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0x460]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0xdc]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429260
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
add eax, 1
mov dword [esp], eax
call fcn.00408c90
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0xdc]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x110]
mov edx, dword [esp + 0xd8]
add edx, 1
mov esi, dword [esp + 0x30]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42bbdb
jmp 0x42bcc0
mov dword [esp + 0x25c], eax
cmp ecx, 0
sete al
mov byte [esp + 0x76], al
mov dword [esp + 0x260], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42bc05
jmp 0x42bcc0
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42bc15
jmp 0x42bcc0
add edx, 2
mov dword [esp + 0x26c], edx
mov edx, esi
xor edx, 0xffffffff
add edx, dword [esp + 0x25c]
cmp bx, 0x80
jae 0x42bc3b
mov byte [esi], bl
mov eax, 1
jmp 0x42bca4
cmp bx, 0x800
jae 0x42bc65
xor eax, eax
cmp edx, 1
jbe 0x42bca4
mov dx, bx
shr dx, 6
add dl, 0xc0
mov byte [esi], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
mov eax, 2
jmp 0x42bca4
xor eax, eax
cmp edx, 2
jbe 0x42bca4
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
mov ax, dx
add ax, 1
xor dx, 0xffff
or dx, 0x3f
add ax, dx
xor al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov eax, 3
add esi, eax
cmp esi, edi
mov ebx, dword [esp + 0x26c]
mov al, byte [esp + 0x76]
mov ecx, dword [esp + 0x260]
jb 0x42bbf3
mov byte [esi], 0
mov eax, dword [esp + 0x30]
add eax, 6
mov ecx, dword [ebp + 8]
add ecx, 0x14
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x30]
add eax, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x20
mov eax, dword [esp + 0x30]
add eax, 8
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x30]
add eax, 0xa
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, eax
inc ecx
mov dword [esp + 0x28], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x30]
add eax, 0xc
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.004311f0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x3c8], 1
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [esp + 0x108]
sub ax, 8
sete bl
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x4a8], 1
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x28c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xe8]
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
sub esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x494]
mov ecx, dword [esp + 0x490]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x350], 1
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x350]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x450], eax
mov eax, dword [esp + 0x454]
mov ecx, dword [esp + 0x450]
mov eax, dword [eax + ecx*4]
jmp eax
mov esp, 0x2be6f41e
dec ebx
adc dword [eax + 0x248cbf0f], edi
invalid
push ecx
inc edi
cmp cl, bl
imul ebp, dword [ebx - 0x5a], 0xe35d22a0
jp 0x8882e3bc
test byte [esp], ah
add dword [eax], eax
add dh, al
test byte [eax + ebx*4], ah
add byte [eax], al
add byte [esi + eax*8], dh
test byte [ecx + ebx*4], ah
add byte [eax], al
add byte [ecx - 0x3a], bh
test byte [edx + ebx*4], ah
add byte [eax], al
add byte [ecx], ch
mov byte [esp + 0x9b], 0x7b
mov byte [esp + 0x9c], 0x2b
mov byte [esp + 0x9d], 0x7d
mov byte [esp + 0x9e], 0x28
mov byte [esp + 0x9f], 0x7f
mov byte [esp + 0xa0], 0x12
mov byte [esp + 0xa1], 0x71
mov byte [esp + 0xa2], 0x35
mov byte [esp + 0xa3], 0x73
mov byte [esp + 0xa4], 0x29
mov byte [esp + 0xa5], 0x75
mov byte [esp + 0xa6], 0x2b
mov byte [esp + 0xa7], 0x77
mov byte [esp + 0xa8], 0x20
mov byte [esp + 0xa9], 0x89
mov byte [esp + 0xaa], 0xba
mov byte [esp + 0xab], 0x8b
mov byte [esp + 0xac], 0x8a
mov byte [esp + 0xad], 0x8d
mov dword [esp + 0xb1], 0
mov dword [esp + 0xae], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
cmp eax, 0x1d
jae 0x42c0a9
jmp 0x42c057
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
add edx, 0xcd6a63ef
add eax, 0xef
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x4e4], edx
mov eax, dword [esp + 0x4e4]
add al, 0x77
mov ecx, dword [esp + 0x6c]
mov byte [esp + ecx + 0x98], al
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
cmp eax, 0x1d
jb 0x42c057
jmp 0x42c0a9
lea eax, [esp + 0x98]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea esi, [esp + 0xe8]
mov dword [esp + 0x20], esi
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
sub esp, 0x24
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [ebx]
mov eax, dword [esi + 0x174]
mov ecx, dword [esi + 0x178]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [ebx], 0
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], ebx
mov edx, dword [esi + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov dword [edi], eax
mov eax, dword [edi]
shr eax, 0x1f
mov dword [esi + 0x304], 0
mov ecx, dword [esi + 0x308]
mov edx, dword [esi + 0x304]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
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 + 0x13c]
mov ecx, dword [esi + 0x140]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x38]
jmp eax
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1d0]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x6c]
mov ebx, eax
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
mov eax, dword [edi]
mov ecx, dword [esi + 0xac]
mov cl, byte [ecx]
mov byte [esi + 0x44], cl
mov edi, dword [esi + 0x68]
mov byte [edi], 0xca
mov byte [edi + 1], 0x35
mov byte [edi + 2], 0xc3
mov byte [edi + 3], 0x33
mov byte [edi + 4], 0xbf
mov byte [edi + 5], 0x31
mov byte [edi + 6], 0xc0
mov byte [edi + 7], 0xcf
mov byte [edi + 8], 0x3a
mov byte [edi + 9], 0xcd
mov byte [edi + 0xa], 0x33
mov byte [edi + 0xb], 0xcb
mov byte [edi + 0xc], 0x4d
mov byte [edi + 0xd], 0xc9
mov byte [edi + 0xe], 0x1a
mov byte [edi + 0xf], 0xc7
mov byte [edi + 0x10], 0x39
mov byte [edi + 0x11], 0xc5
mov byte [edi + 0x12], 0x37
mov byte [edi + 0x13], 0xc3
mov byte [edi + 0x14], 0x39
mov byte [edi + 0x15], 0xc1
mov byte [edi + 0x16], 0xc0
mov byte [edi + 0x17], 0xdf
mov byte [edi + 0x1a], 0
mov word [edi + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
jae 0x42c891
jmp 0x42c849
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
mov edi, ecx
add edi, 0xfe8db79
lea ecx, [ecx + edx + 0xfe8db79]
and edi, edx
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x68]
mov dword [esi + 0x3ac], ecx
mov ecx, dword [esi + 0x3ac]
add cl, 0xb1
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
mov ecx, dword [esi + 4]
inc ecx
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
jb 0x42c849
jmp 0x42c891
mov ecx, dword [esi + 0x23c]
mov edx, dword [esi + 0x240]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x2ac]
mov ecx, dword [esi + 0x2b0]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x2c]
jmp eax
call fcn.0040f090
mov dword [esi + 0x1d4], 0
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, 0x8bc1afa5
xchg byte [ecx + eax], cl
add byte [eax], al
mov ecx, dword [esi + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [edi]
sub esp, 0x18
mov ebx, dword [esi + 0x34]
mov dword [esp + 0x14], ebx
mov ecx, dword [esi + 0x7c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call edi
not eax
shr eax, 0x1f
mov dword [esi + 0x33c], eax
mov eax, dword [esi + 0x340]
mov ecx, dword [esi + 0x33c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x20]
jmp eax
stosd dword es:[edi], eax
sbb esi, dword [edi]
xor eax, 0xa07458a4
adc eax, 0x602d9cfc
mov cl, byte [edx - 0xe]
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x224]
mov eax, dword [eax + ecx*4]
jmp eax
enter 0x638, 0x2c
lodsb al, byte [esi]
mov ebx, 0x55073ed5
adc byte [esi - 0x39], bl
add eax, dword [eax]
add byte [eax], al
add byte [ebx + 0x8b3446], cl
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], ebx
mov edx, dword [esi + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov dword [edi], eax
mov eax, dword [esi + 0x114]
mov ecx, dword [esi + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x334]
mov ecx, dword [esi + 0x338]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax]
add ecx, 8
mov edx, dword [esi + 0x1f4]
mov edi, dword [esi + 0x1f8]
mov edx, dword [edi + edx*4]
jmp edx
mov edx, dword [esi + 0x36c]
mov edi, dword [esi + 0x370]
mov edx, dword [edi + edx*4]
jmp edx
mov ebx, dword [esi + 0x20]
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 dword [esi + 0x88], eax
mov eax, dword [esi + 0x384]
mov ecx, dword [esi + 0x388]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x318]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x2a4], 0
mov eax, dword [esi + 0x2a8]
mov ecx, dword [esi + 0x2a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x190]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [edi]
mov eax, dword [eax + 8]
sub esp, 4
mov dword [esp], edi
call eax
mov dword [esi + 0x164], 1
mov eax, dword [esi + 0x168]
mov ecx, dword [esi + 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x2e4], eax
mov eax, dword [esi + 0x2e8]
mov ecx, dword [esi + 0x2e4]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x24]
jmp eax
call fcn.0040f090
mov dword [esi + 0x1dc], 0
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x15c]
mov ecx, dword [esi + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x344]
mov ebx, dword [esi + 0x348]
mov ebx, dword [ebx + ecx*4]
jmp ebx
call fcn.0040f090
mov dword [esi + 0x2f4], 1
mov eax, dword [esi + 0x2f8]
mov ecx, dword [esi + 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov dword [esi + 0x24c], 1
mov eax, dword [esi + 0x250]
mov ecx, dword [esi + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
xor eax, eax
cmp dword [esi + 0x88], 0
setns cl
mov dword [esi + 0x374], 0
mov edx, dword [esi + 0x378]
mov edi, dword [esi + 0x374]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040f090
mov dword [esi + 0x16c], 0
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x324], 0
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x324]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esi + 0x294]
mov edx, dword [esi + 0x298]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov eax, dword [edi + 8]
mov ecx, dword [ecx]
shl ecx, 1
add eax, ecx
mov ecx, dword [edi + 8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429260
add esp, 8
mov ebx, dword [esi + 0xa8]
mov dword [ebx], eax
mov eax, dword [ebx]
add eax, 1
sub esp, 4
mov dword [esp], eax
call fcn.00408c90
add esp, 4
mov edx, edi
mov edi, dword [esi + 0x30]
mov ecx, dword [edi]
mov dword [ecx + 8], eax
mov ecx, dword [edx + 8]
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
shl eax, 1
add ecx, eax
mov eax, dword [edx + 8]
mov dword [esi + 0x58], eax
mov edx, dword [ebx]
add edx, 1
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov edi, eax
add edi, edx
mov edx, edi
add edx, 0xffffffff
cmp edx, eax
ja 0x42cc8b
jmp 0x42cd70
mov dword [esi + 0x90], edi
cmp ecx, 0
sete bl
mov edi, ecx
mov dword [esi + 0x94], edi
mov byte [esi + 0x1b], bl
mov dword [esi + 0x8c], edx
mov ecx, dword [esi + 0x58]
mov edx, ecx
sub edx, edi
setb dl
or bl, dl
test bl, 1
jne 0x42ccbe
jmp 0x42cd70
mov bx, word [ecx]
cmp bx, 0
jne 0x42cccc
jmp 0x42cd70
add ecx, 2
mov dword [esi + 0x58], ecx
mov edx, eax
xor edx, 0xffffffff
add edx, dword [esi + 0x90]
cmp bx, 0x80
jae 0x42cced
mov byte [eax], bl
mov ecx, 1
jmp 0x42cd57
cmp bx, 0x800
jae 0x42cd17
xor ecx, ecx
cmp edx, 1
jbe 0x42cd57
mov dx, bx
shr dx, 6
add dl, 0xc0
mov byte [eax], dl
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
mov ecx, 2
jmp 0x42cd57
xor ecx, ecx
cmp edx, 2
jbe 0x42cd57
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [eax], dl
mov dx, bx
shr dx, 6
mov cx, dx
add cx, 1
xor dx, 0xffff
or dx, 0x3f
add cx, dx
xor cl, 0x80
mov byte [eax + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [eax + 2], bl
mov ecx, 3
add eax, ecx
mov edx, dword [esi + 0x8c]
cmp eax, edx
mov edi, dword [esi + 0x94]
mov bl, byte [esi + 0x1b]
jb 0x42cca8
mov byte [eax], 0
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x220]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x6c]
jmp eax
call fcn.0040f090
mov dword [esi + 0x26c], 0
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [edi]
mov dword [esi + 0x29c], 0
mov ecx, dword [esi + 0x2a0]
mov edx, dword [esi + 0x29c]
mov ecx, dword [ecx + edx*4]
jmp ecx
pop ds
in al, dx
retf
call fcn.0040f090
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0x38]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
sete cl
mov dword [esi + 0x20c], 1
mov edx, dword [esi + 0x210]
mov ebx, edi
mov edi, dword [esi + 0x20c]
mov edx, dword [edx + edi*4]
mov edi, ebx
jmp edx
call fcn.0040f090
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx]
mov dword [esi + 0x7c], ecx
mov edx, dword [esi + 0x40]
mov edx, dword [edx]
mov edi, dword [eax]
add edi, 0x50
mov dword [esi + 0x34c], 0
mov ebx, dword [esi + 0x350]
mov dword [esi + 0x80], ebx
mov ebx, dword [esi + 0x34c]
mov ecx, dword [esi + 0x80]
mov ebx, dword [ecx + ebx*4]
jmp ebx
imul esi, dword [edi + ebx*8 - 0xeec03a0], 0xffffff91
in al, 0x30
retf
call fcn.0040f090
mov dword [esi + 0x1c4], 1
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x32c]
mov ecx, dword [esi + 0x330]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x144]
mov ecx, dword [esi + 0x148]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x74]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esi + 0x264], eax
mov eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x264]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x2c]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x2cc], eax
mov eax, dword [esi + 0x2d0]
mov ecx, dword [esi + 0x2cc]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x24]
jmp eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x19c]
mov edx, dword [esi + 0x1a0]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
test eax, eax
sete cl
mov dword [esi + 0x28c], ecx
mov eax, dword [esi + 0x290]
mov ecx, dword [esi + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov dword [esi + 0x74], esp
sub esp, 0x30
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x9c], edx
mov esp, edx
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x20], esp
push eax
mov dword [esi + 0x40], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x60], edx
mov esp, edx
push eax
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0x3c], esp
sub esp, 0x48
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xa4], edx
mov esp, edx
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0x1c], esp
push eax
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x24], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x2c], edx
mov esp, edx
push eax
sub esp, 0x24
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x28], edx
mov esp, edx
push eax
mov dword [esi + 0xb4], esp
push eax
mov dword [esi + 0xb0], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x6c], edx
mov esp, edx
push eax
sub esp, 0x1c
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0xac], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0xa8], esp
mov dword [esi + 0x38], eax
mov dword [eax], 0
mov dword [ecx], 0
sub esp, 0x14
mov dword [esi + 0x78], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x43fbd0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x43fbe0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x39c], 0
mov edx, dword [esi + 0x3a0]
mov ebx, dword [esi + 0x39c]
mov edx, dword [edx + ebx*4]
jmp edx
mov dword [edi], 3
mov eax, dword [esi + 0x2c4]
mov ecx, dword [esi + 0x2c8]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x2c]
jmp eax
mov al, byte [esi - 0x42034eff]
push esp
in eax, 0x8d
sti
sub ah, dh
mov eax, dword [esi + 0x104]
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], 0xc
call fcn.00408c90
add esp, 4
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
mov ecx, dword [esi + 0xb4]
mov cl, byte [ecx]
mov byte [esi + 0x48], cl
mov edx, dword [esi + 0x28]
mov byte [edx], 0xa8
mov byte [edx + 1], 0xd9
mov byte [edx + 2], 0xa8
mov byte [edx + 3], 0xdb
mov byte [edx + 4], 0x93
mov byte [edx + 5], 0xe5
mov byte [edx + 6], 0x8a
mov byte [edx + 7], 0xe7
mov byte [edx + 8], 0x9d
mov byte [edx + 9], 0xe1
mov byte [edx + 0xa], 0x81
mov byte [edx + 0xb], 0xe3
mov byte [edx + 0xc], 0x90
mov byte [edx + 0xd], 0xed
mov byte [edx + 0xe], 0xbd
mov byte [edx + 0xf], 0xef
mov byte [edx + 0x10], 0x94
mov byte [edx + 0x11], 0xe9
mov byte [edx + 0x12], 0x8b
mov byte [edx + 0x13], 0xeb
mov byte [edx + 0x14], 0x88
mov byte [edx + 0x15], 0xf5
mov byte [edx + 0x16], 0x9b
mov byte [edx + 0x17], 0xf7
mov byte [edx + 0x18], 0xf0
mov byte [edx + 0x19], 0xf1
mov dword [edx + 0x1e], 0
mov dword [edx + 0x1a], 0
mov dword [esi + 8], 0
mov ecx, dword [esi + 8]
cmp ecx, 0x22
jae 0x42d1b3
jmp 0x42d162
mov ecx, dword [esi + 8]
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x28]
movzx edx, byte [edi + edx]
mov edi, ecx
add edi, 0xae908fdc
lea ecx, [ecx + edx - 0x516f7024]
and edi, edx
add edi, edi
sub ecx, edi
mov dword [esi + 0x3b0], ecx
mov ecx, dword [esi + 0x3b0]
add cl, 0xfc
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x28]
mov byte [edi + edx], cl
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 8]
inc ecx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
cmp ecx, 0x22
jb 0x42d162
mov edi, dword [esi + 0x1c]
jmp 0x42d1b3
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
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
not eax
shr eax, 0x1f
mov dword [esi + 0x284], eax
mov eax, dword [esi + 0x288]
mov ecx, dword [esi + 0x284]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x2fc], eax
mov eax, dword [esi + 0x300]
mov ecx, dword [esi + 0x2fc]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x24]
jmp eax
mov al, byte [ebx]
mov byte [esi + 0x4c], al
mov edi, edx
mov byte [edi], 0x92
mov byte [edi + 1], 0xc1
mov byte [edi + 2], 0x8d
mov byte [edi + 3], 0xc3
mov byte [edi + 4], 0x8b
mov byte [edi + 5], 0xc5
mov byte [edi + 6], 0x92
mov byte [edi + 7], 0xc7
mov byte [edi + 8], 0x94
mov byte [edi + 9], 0xc9
mov byte [edi + 0xa], 0x99
mov byte [edi + 0xb], 0xcb
mov byte [edi + 0xc], 0x69
mov byte [edi + 0xd], 0xcd
mov byte [edi + 0xe], 0x6d
mov byte [edi + 0xf], 0xcf
mov byte [edi + 0x10], 0x65
mov byte [edi + 0x11], 0xd1
mov byte [edi + 0x12], 0x60
mov byte [edi + 0x13], 0xd3
mov byte [edi + 0x14], 0x7d
mov byte [edi + 0x15], 0xd5
mov byte [edi + 0x16], 0x62
mov byte [edi + 0x17], 0xd7
mov byte [edi + 0x18], 0x61
mov byte [edi + 0x19], 0xd9
mov byte [edi + 0x1a], 0x99
mov byte [edi + 0x1b], 0xdb
mov byte [edi + 0x1c], 0x79
mov byte [edi + 0x1d], 0xdd
mov byte [edi + 0x1e], 0x70
mov byte [edi + 0x1f], 0xdf
mov byte [edi + 0x20], 0x94
mov byte [edi + 0x21], 0x21
mov byte [edi + 0x22], 0x87
mov byte [edi + 0x23], 0x23
mov byte [edi + 0x24], 0x96
mov byte [edi + 0x25], 0x25
mov byte [edi + 0x26], 0x54
mov byte [edi + 0x27], 0x27
mov byte [edi + 0x28], 0x28
mov byte [edi + 0x29], 0x29
mov word [edi + 0x2e], 0
mov dword [edi + 0x2a], 0
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x30
jae 0x42d32e
jmp 0x42d2ea
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [edi + ecx]
mov edx, eax
add edx, 0xd1f27960
lea eax, [eax + ecx - 0x2e0d86a0]
and edx, ecx
add edx, edx
sub eax, edx
mov dword [esi + 0x3b4], eax
mov eax, dword [esi + 0x3b4]
add al, 0x60
mov ecx, dword [esi + 0xc]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x30
jb 0x42d2ea
jmp 0x42d32e
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, dword [esi + 0x74]
mov dword [ebx], eax
mov edi, dword [esi + 0x78]
mov ecx, dword [edi]
mov edx, dword [ebx]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x84], eax
sub esp, 0x24
mov eax, dword [esi + 0x20]
mov dword [esp + 0x20], eax
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 dword [esi + 0x84]
not eax
shr eax, 0x1f
mov dword [esi + 0x38c], eax
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0x38c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, ebx
add eax, 8
mov edx, dword [esi + 0xb0]
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 4
mov eax, ebx
add eax, 0xc
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x1c]
mov al, byte [edx + 1]
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
mov byte [ecx + 4], al
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x260]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1ec]
mov edi, dword [esi + 0x1f0]
mov edx, dword [edi + edx*4]
jmp edx
xor ecx, ecx
sub eax, 3
sete cl
mov dword [esi + 0x194], ecx
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x194]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x34]
mov ebx, dword [esi + 0x20]
jmp eax
outsd dx, dword [esi]
scasb al, byte es:[edi]
pop ecx
adc al, 0xc7
pop es
add byte [eax], al
add byte [eax], al
mov eax, dword [esi + 0xfc]
mov ecx, dword [esi + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x354], 0
mov eax, dword [esi + 0x358]
mov ecx, dword [esi + 0x354]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, 0xa1350b8e
hlt
pop ds
insd dword es:[edi], dx
jp 0x42d4d0
div byte [edx - 0x3b3ff88c]
pop eax
inc edi
adc eax, 0xec83f978
add al, 0x89
sbb al, 0x24
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xchg ecx, eax
xchg esi, eax
test ebp, esp
inc ebx
lcall 0x408b, 0x78b9dcd
or byte [ebx + 0x3c8904ec], al
and al, 0xff
ror byte [ebx + 0xc486], 1
add byte [ebx + 0xc88e], cl
add byte [ebx - 0x1f007efc], cl
call eax
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x214], 0
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ecx]
mov ecx, dword [esi + 0x24]
mov dword [ecx], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sti
mov al, byte [0xb6b057ee]
cmpsd dword [esi], dword es:[edi]
xchg ebp, eax
inc ebp
fisttp word [ecx + 0x2c868b67]
add dword [eax], eax
add byte [ebx + 0x1308e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0040f090
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
xor eax, eax
sub ecx, 1
sete cl
mov dword [esi + 0x2ec], 0
mov edx, dword [esi + 0x2f0]
mov edi, dword [esi + 0x2ec]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040f090
mov dword [esi + 0x2dc], 0
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0xdc]
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edx]
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esi + 0x200]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x364], eax
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x364]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x5c]
jmp eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov edi, ebx
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x234], eax
mov eax, dword [esi + 0x238]
mov ecx, dword [esi + 0x234]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
call fcn.0040f090
mov dword [edi], 0
mov dword [esi + 0x2b4], 1
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [edi]
sub ax, 8
sete al
mov ecx, dword [esi + 0x22c]
mov edx, dword [esi + 0x230]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [esi + 0x204], eax
mov eax, dword [esi + 0x208]
mov ecx, dword [esi + 0x204]
mov eax, dword [eax + ecx*4]
mov edx, dword [esi + 0x30]
jmp eax
call fcn.0040f090
mov dword [esi + 0x14c], 0
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x14c]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
mov ebx, dword [esi + 0x98]
mov edx, dword [esi + 0x9c]
mov dword [esi + 0x68], edi
mov cl, al
and ecx, 1
mov dword [esi + 0x394], ecx
mov eax, dword [esi + 0x398]
mov ecx, dword [esi + 0x394]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x38]
jmp eax
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x24]
jmp eax
call fcn.0040f090
mov dword [esi + 0x254], 1
mov eax, dword [esi + 0x258]
mov ecx, dword [esi + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x30c], 1
mov eax, dword [esi + 0x310]
mov ecx, dword [esi + 0x30c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xb8]
mov edi, dword [esi + 0x70]
jmp eax
call fcn.0040f090
mov dword [esi + 0x1bc], 0
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2c]
mov ax, word [eax]
sub ax, 3
sete bl
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x280]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x244]
mov ecx, dword [esi + 0x248]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x154], 0
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x154]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x78]
jmp eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x17c]
mov ecx, dword [esi + 0x180]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1ac]
mov ecx, dword [esi + 0x1b0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xa0]
mov al, byte [eax]
mov byte [esi + 0x50], al
mov edx, dword [esi + 0x60]
mov byte [edx], 0x17
mov byte [edx + 1], 0x61
mov byte [edx + 2], 0x13
mov byte [edx + 3], 0x63
mov byte [edx + 4], 0x28
mov byte [edx + 5], 0x65
mov byte [edx + 6], 0x66
mov byte [edx + 7], 0x67
mov byte [edx + 0xc], 0
mov dword [edx + 8], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0xd
jae 0x42d8ad
jmp 0x42d853
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [edx + ecx]
mov ebx, eax
add ebx, 0x5f5c61f0
mov edi, eax
add edi, 0xf0
mov edx, edi
and edx, ebx
and edx, ecx
or edi, ebx
and edi, ecx
lea eax, [eax + ecx + 0x5f5c61f0]
add edx, edi
sub eax, edx
mov edx, dword [esi + 0x60]
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x3b8]
add al, 0x70
mov ecx, dword [esi + 0x10]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
cmp eax, 0xd
jb 0x42d853
mov edi, dword [esi + 0x5c]
jmp 0x42d8ad
sub esp, 4
mov dword [esp], edx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov al, byte [edi]
mov byte [esi + 0x54], al
mov ebx, dword [esi + 0xa4]
mov byte [ebx], 0x6b
mov byte [ebx + 1], 0xd9
mov byte [ebx + 2], 0x67
mov byte [ebx + 3], 0xdb
mov byte [ebx + 4], 0x60
mov byte [ebx + 5], 0xd5
mov byte [ebx + 6], 0x6b
mov byte [ebx + 7], 0xd7
mov byte [ebx + 8], 0x93
mov byte [ebx + 9], 0xd1
mov byte [ebx + 0xa], 0x7e
mov byte [ebx + 0xb], 0xd3
mov byte [ebx + 0xc], 0xac
mov byte [ebx + 0xd], 0xcd
mov byte [ebx + 0xe], 0x94
mov byte [ebx + 0xf], 0xcf
mov byte [ebx + 0x10], 0xa8
mov byte [ebx + 0x11], 0xc9
mov byte [ebx + 0x12], 0x74
mov byte [ebx + 0x13], 0xcb
mov byte [ebx + 0x14], 0x76
mov byte [ebx + 0x15], 0xc5
mov byte [ebx + 0x16], 0x71
mov byte [ebx + 0x17], 0xc7
mov byte [ebx + 0x18], 0x75
mov byte [ebx + 0x19], 0xc1
mov byte [ebx + 0x1a], 0xa2
mov byte [ebx + 0x1b], 0xc3
mov byte [ebx + 0x1c], 0x7d
mov byte [ebx + 0x1d], 0x3d
mov byte [ebx + 0x1e], 0xa8
mov byte [ebx + 0x1f], 0x3f
mov byte [ebx + 0x20], 0xb4
mov byte [ebx + 0x21], 0x39
mov byte [ebx + 0x22], 0xa3
mov byte [ebx + 0x23], 0x3b
mov byte [ebx + 0x24], 0x9a
mov byte [ebx + 0x25], 0x35
mov byte [ebx + 0x26], 0xaf
mov byte [ebx + 0x27], 0x37
mov byte [ebx + 0x28], 0xa2
mov byte [ebx + 0x29], 0x31
mov byte [ebx + 0x2a], 0xbf
mov byte [ebx + 0x2b], 0x33
mov byte [ebx + 0x2c], 0xbf
mov byte [ebx + 0x2d], 0x2d
mov byte [ebx + 0x2e], 0x9e
mov byte [ebx + 0x2f], 0x2f
mov byte [ebx + 0x30], 0xba
mov byte [ebx + 0x31], 0x29
mov byte [ebx + 0x32], 0xbd
mov byte [ebx + 0x33], 0x2b
mov byte [ebx + 0x34], 0xb8
mov byte [ebx + 0x35], 0x25
mov byte [ebx + 0x36], 0xab
mov byte [ebx + 0x37], 0x27
mov byte [ebx + 0x38], 0x83
mov byte [ebx + 0x39], 0x21
mov byte [ebx + 0x3a], 0xae
mov byte [ebx + 0x3b], 0x23
mov byte [ebx + 0x3c], 0x1c
mov byte [ebx + 0x3d], 0x1d
mov dword [ebx + 0x42], 0
mov dword [ebx + 0x3e], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x46
mov edi, dword [esi + 0x3c]
jae 0x42da32
jmp 0x42d9e3
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [ebx + ecx]
mov edx, eax
add edx, 0xca55ed64
lea eax, [eax + ecx - 0x35aa129c]
and edx, ecx
add edx, edx
sub eax, edx
mov dword [esi + 0x3bc], eax
mov eax, dword [esi + 0x3bc]
mov ecx, eax
xor ecx, 0x43
and eax, 0x43
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 0x14]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
cmp eax, 0x46
jb 0x42d9e3
jmp 0x42da32
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov dword [edi], eax
mov eax, dword [esi + 0x35c]
mov ecx, dword [esi + 0x360]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [edi], 0
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1a8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x274], 1
mov eax, dword [esi + 0x278]
mov ecx, dword [esi + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov ecx, dword [ebx]
xor eax, eax
test ecx, ecx
sete cl
mov dword [esi + 0x2d4], 0
mov edx, dword [esi + 0x2d8]
mov edi, dword [esi + 0x2d4]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040f090
mov dword [esi + 0x2bc], 0
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [eax + ecx*4]
jmp eax
push eax
les esp, [0xbc868bc7]
add byte [eax], al
add byte [ebx + 0xc08e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0040f090
mov dword [esi + 0x31c], 0
mov eax, dword [esi + 0x320]
mov ecx, dword [esi + 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
sub esp, 0x30
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
push eax
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
sub esp, 0x48
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
push eax
push eax
push eax
push eax
push eax
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
sub esp, 0x24
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
sub esp, 0x1c
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
push eax
mov dword [eax], 0
mov dword [ecx], 0
sub esp, 0x14
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x43fbd0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x43fbe0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov eax, dword [esi + 0x134]
mov ecx, dword [esi + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ecx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x188]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x37c], 0
mov eax, dword [esi + 0x380]
mov ecx, dword [esi + 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
pop eax
lahf
add eax, 0x11c868b
add byte [eax], al
mov ecx, dword [esi + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00408ca0
mov eax, dword [esp + 0x28]
mov dword [eax], 0xa8da0e8
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, 0x3d94aad0
setl cl
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x180]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xaa7eafef
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, 0x5857fc2c
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
outsb dx, byte [esi]
lodsb al, byte [esi]
inc ebx
push ds
fcmovnbe st(0), st(6)
pop ss
imul ecx, dword [ebx - 0x76a3dbbc], 0xce82404
test eax, 0x448bfffd
and al, 0x28
mov dword [eax], 0x489ab4ed
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x4c8fa891
sete cl
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x78966ef7
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
mov edx, eax
sub edx, 0x9e67544f
setl cl
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x28]
mov dword [eax], 0x4c8fa891
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa8da0e8
setl cl
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1e0]
lea ecx, [esp + 0x74]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0042eb10
test al, al
mov eax, 0x34ceee36
jne 0x42e4a9
mov eax, 0x5857fc2c
mov ecx, dword [esp + 0x28]
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, 0xd31c7fb2
setl cl
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xecc37755
setl cl
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x28]
mov dword [eax], 0x9d4c0e5c
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xecc37755
sete cl
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
add dword [eax], eax
add byte [ebx + 0x140248c], cl
add byte [eax], al
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xddb1c5ea
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
sub eax, 0x3d94aad0
sete cl
mov dword [esp + 0x178], ecx
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov eax, dword [eax + ecx*4]
jmp eax
sbb ch, byte [ebx - 0x3d78fa81]
js 0x42e547
iretd
call fcn.0040f090
mov eax, dword [esp + 0x28]
mov dword [eax], 0x9e67544f
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, 0x381ace97
setl cl
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x188]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x34ceee36
sete cl
mov dword [esp + 0x168], ecx
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x78966ef7
setl cl
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
sub esp, 4
mov al, byte [esp + 0x27]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xaa7eafef
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.0040f090
mov eax, dword [esp + 0x28]
mov dword [eax], 0x489ab4ed
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xddb1c5ea
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
xor ecx, ecx
sub eax, 0xd31c7fb2
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 eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x489ab4ed
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
mov eax, dword [esp + 0x28]
mov dword [eax], 0x381ace97
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x9e67544f
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, 0xa8da0e8
sete cl
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x148]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4c8fa891
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
xor ecx, ecx
mov edx, eax
sub edx, 0x489ab4ed
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
xor ecx, ecx
sub eax, 0x381ace97
sete cl
mov dword [esp + 0x170], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x34ceee36
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, 0x9d4c0e5c
sete cl
mov dword [esp + 0x100], ecx
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5857fc2c
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
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x60]
mov bl, byte [esp + 0x2c]
mov byte [esp + 0x68], bl
mov byte [esp + 0x40], 0x93
mov byte [esp + 0x41], 0x82
mov byte [esp + 0x42], 0xf0
mov byte [esp + 0x43], 0x86
mov byte [esp + 0x44], 0x81
mov byte [esp + 0x45], 0x8b
mov byte [esp + 0x46], 0x48
mov byte [esp + 0x47], 0xf7
mov byte [esp + 0x48], 0x86
mov byte [esp + 0x49], 0x8e
mov byte [esp + 0x4a], 0x6a
mov dword [esp + 0x53], 0
mov dword [esp + 0x4f], 0
mov dword [esp + 0x4b], 0
mov dword [esp + 0x30], 0
mov esi, dword [esp + 0x30]
cmp esi, 0x17
jae 0x42e972
jmp 0x42e91a
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x30]
movzx edi, byte [esp + edi + 0x40]
mov ebx, esi
add ebx, 0xeb800ab0
lea esi, [esi + edi - 0x147ff550]
and ebx, edi
add ebx, ebx
sub esi, ebx
mov dword [esp + 0x1f4], esi
mov esi, dword [esp + 0x1f4]
mov ebx, esi
or ebx, 0x2f
and esi, 0x2f
add ebx, esi
inc bl
mov esi, dword [esp + 0x30]
mov byte [esp + esi + 0x40], bl
mov esi, dword [esp + 0x30]
inc esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x30]
cmp esi, 0x17
jb 0x42e91a
jmp 0x42e972
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.004096e0
sub esp, 0xc
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0x9e67544f
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x28]
mov dword [eax], 0x5857fc2c
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x3b]
test al, al
mov eax, 0x381ace97
jne 0x42e9d9
mov eax, 0xd31c7fb2
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x60]
mov bl, byte [esp + 0x2c]
mov byte [esp + 0x6c], bl
mov byte [esp + 0x40], 0x93
mov byte [esp + 0x41], 0x82
mov byte [esp + 0x42], 0xf0
mov byte [esp + 0x43], 0x86
mov byte [esp + 0x44], 0x81
mov byte [esp + 0x45], 0x8b
mov byte [esp + 0x46], 0x48
mov byte [esp + 0x47], 0xf7
mov byte [esp + 0x48], 0x86
mov byte [esp + 0x49], 0x8e
mov byte [esp + 0x4a], 0x6a
mov dword [esp + 0x53], 0
mov dword [esp + 0x4f], 0
mov dword [esp + 0x4b], 0
mov dword [esp + 0x34], 0
mov esi, dword [esp + 0x34]
cmp esi, 0x17
jae 0x42eac4
jmp 0x42ea6c
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x34]
movzx edi, byte [esp + edi + 0x40]
mov ebx, esi
add ebx, 0xeb800ab0
lea esi, [esi + edi - 0x147ff550]
and ebx, edi
add ebx, ebx
sub esi, ebx
mov dword [esp + 0x1f8], esi
mov esi, dword [esp + 0x1f8]
mov ebx, esi
or ebx, 0x2f
and esi, 0x2f
add ebx, esi
inc bl
mov esi, dword [esp + 0x34]
mov byte [esp + esi + 0x40], bl
mov esi, dword [esp + 0x34]
inc esi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x34]
cmp esi, 0x17
jb 0x42ea6c
jmp 0x42eac4
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.004096e0
sub esp, 0xc
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
test eax, eax
sete byte [esp + 0x3b]
mov eax, dword [esp + 0x28]
mov dword [eax], 0x3d94aad0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xcf73d34a
sete cl
mov dword [esp + 0x38c], ecx
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x5f8]
mov eax, dword [eax]
mov dword [esp + 0x5f4], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9dd607a3
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa9bf10c9
setl cl
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x408]
mov edx, dword [esp + 0x404]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x5e8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5e4], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb056f8b0
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x3c], 2
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x5362c848
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x210]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x9dd607a3
sete cl
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x7a998aa5
sete cl
mov dword [esp + 0x5a4], ecx
mov eax, dword [esp + 0x5a8]
mov ecx, dword [esp + 0x5a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x215be9df
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa4579e17
sete cl
mov dword [esp + 0x2ec], ecx
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x43044db0
setl cl
mov dword [esp + 0x4fc], ecx
mov ecx, dword [esp + 0x500]
mov edx, dword [esp + 0x4fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xcf73d34a
setl cl
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x394]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x19e82b66
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4da6849
setl cl
mov dword [esp + 0x444], ecx
mov ecx, dword [esp + 0x448]
mov edx, dword [esp + 0x444]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xc108fd41
sete cl
mov dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x34c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x618]
mov ecx, dword [esp + 0x614]
sub eax, ecx
setl byte [esp + 0x27]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf1b9658c
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4a662860
setl cl
mov dword [esp + 0x544], ecx
mov ecx, dword [esp + 0x548]
mov edx, dword [esp + 0x544]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x5fc]
mov ecx, dword [esp + 0x5f4]
mov edx, dword [esp + 0x5f0]
mov esi, dword [esp + 0x5ec]
lea edi, [esp + 0x50]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00404de0
mov dword [esp + 0x5e8], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9d805e16
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x75ad88b9
sete cl
mov dword [esp + 0x58c], ecx
mov eax, dword [esp + 0x590]
mov ecx, dword [esp + 0x58c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xea93fe9e
setl cl
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3f0]
mov edx, dword [esp + 0x3ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x57511a4e
setl cl
mov dword [esp + 0x534], ecx
mov ecx, dword [esp + 0x538]
mov edx, dword [esp + 0x534]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [esp + 0x3c], 5
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x96ed3b99
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00408ca0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x43044db0
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xcfd96227
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x208]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x26fc21fd
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x220]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xcfd96227
setl cl
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3b8]
mov edx, dword [esp + 0x3b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x26]
test al, al
mov eax, 0x29c50980
jne 0x42fae8
mov eax, 0x403da489
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
cmc
in eax, dx
pop ecx
jnp 0x42fb5e
pushal
xor dword [ecx], ebp
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x75ad88b9
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa34a496f
setl cl
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x2e8]
mov edx, dword [esp + 0x2e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xff719ec0
sete cl
mov dword [esp + 0x434], ecx
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x434]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x86233c69
sete cl
mov dword [esp + 0x24c], ecx
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9d805e16
setl cl
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf1b9658c
setl cl
mov dword [esp + 0x424], ecx
mov ecx, dword [esp + 0x428]
mov edx, dword [esp + 0x424]
mov ecx, dword [ecx + edx*4]
jmp ecx
in al, dx
add esp, ecx
dec edi
aad 0x59
sub edi, dword [ebx + 0x43977181]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6a818ccf
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xcfd96227
sete cl
mov dword [esp + 0x39c], ecx
mov eax, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x39c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xea93fe9e
sete cl
mov dword [esp + 0x3d4], ecx
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xeac06296
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x26fc21fd
setl cl
mov dword [esp + 0x4cc], ecx
mov ecx, dword [esp + 0x4d0]
mov edx, dword [esp + 0x4cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1fc738b9
sete cl
mov dword [esp + 0x47c], ecx
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x47c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x229bb4c5
setl cl
mov dword [esp + 0x4ac], ecx
mov ecx, dword [esp + 0x4b0]
mov edx, dword [esp + 0x4ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd39a2e3a
sete cl
mov dword [esp + 0x3a4], ecx
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x19e82b66
sete cl
mov dword [esp + 0x474], ecx
mov eax, dword [esp + 0x478]
mov ecx, dword [esp + 0x474]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x229bb4c5
sete cl
mov dword [esp + 0x4a4], ecx
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x819e38ac
sete cl
mov dword [esp + 0x244], ecx
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
sahf
out 0x5c, eax
mov dl, 0x25
cdq
cmp byte [esi], dl
scasb al, byte es:[edi]
mov byte [0x24448b26], al
inc eax
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], 0x577d64c2
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa4579e17
setl cl
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x308]
mov edx, dword [esp + 0x304]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xea93fe9e
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8df9daa4
setl cl
mov dword [esp + 0x27c], ecx
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x27c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xeac06296
sete cl
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x60a3e924
setl cl
mov dword [esp + 0x57c], ecx
mov ecx, dword [esp + 0x580]
mov edx, dword [esp + 0x57c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x43044db0
sete cl
mov dword [esp + 0x4f4], ecx
mov eax, dword [esp + 0x4f8]
mov ecx, dword [esp + 0x4f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x60a3e924
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5986fe6a
setl cl
mov dword [esp + 0x55c], ecx
mov ecx, dword [esp + 0x560]
mov edx, dword [esp + 0x55c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xde34d541
setl cl
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x3f8]
mov edx, dword [esp + 0x3f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9d805e16
sete cl
mov dword [esp + 0x2bc], ecx
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x66c]
mov dword [ecx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x668]
mov dword [ecx], eax
mov byte [esp + 0x21], 1
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x403da489
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x5986fe6a
sete cl
mov dword [esp + 0x554], ecx
mov eax, dword [esp + 0x558]
mov ecx, dword [esp + 0x554]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc108fd41
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x86233c69
setl cl
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [esp + 0x50], 0
movzx eax, word [esp + 0x22]
mov dword [esp + 0x5fc], eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb4321a33
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x16809ae5
setl cl
mov dword [esp + 0x45c], ecx
mov ecx, dword [esp + 0x460]
mov edx, dword [esp + 0x45c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xff719ec0
setl cl
mov dword [esp + 0x46c], ecx
mov ecx, dword [esp + 0x470]
mov edx, dword [esp + 0x46c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x74030549
sete cl
mov dword [esp + 0x584], ecx
mov eax, dword [esp + 0x588]
mov ecx, dword [esp + 0x584]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb056f8b0
sete cl
mov dword [esp + 0x324], ecx
mov eax, dword [esp + 0x328]
mov ecx, dword [esp + 0x324]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4e17ab4c
setl cl
mov dword [esp + 0x51c], ecx
mov ecx, dword [esp + 0x520]
mov edx, dword [esp + 0x51c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xefd8a18d
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
cmp dword [esi - 0x7d], 0x24448b40
sbb al, 0xc7
add byte [ecx - 3], al
or cl, al
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xe4c551d2
sete cl
mov dword [esp + 0x3c4], ecx
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7a998aa5
setl cl
mov dword [esp + 0x5ac], ecx
mov ecx, dword [esp + 0x5b0]
mov edx, dword [esp + 0x5ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc996fc62
setl cl
mov dword [esp + 0x36c], ecx
mov ecx, dword [esp + 0x370]
mov edx, dword [esp + 0x36c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x97d86868
sete cl
mov dword [esp + 0x28c], ecx
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x57511a4e
sete cl
mov dword [esp + 0x52c], ecx
mov eax, dword [esp + 0x530]
mov ecx, dword [esp + 0x52c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x27]
test al, al
mov eax, 0x36be76aa
jne 0x4301e1
mov eax, 0x5986fe6a
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x215be9df
setl cl
mov dword [esp + 0x4d4], ecx
mov ecx, dword [esp + 0x4d8]
mov edx, dword [esp + 0x4d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x96ed3b99
sete cl
mov dword [esp + 0x284], ecx
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x284]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa4579e17
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x60a3e924
sete cl
mov dword [esp + 0x564], ecx
mov eax, dword [esp + 0x568]
mov ecx, dword [esp + 0x564]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xefd8a18d
setl cl
mov dword [esp + 0x42c], ecx
mov ecx, dword [esp + 0x430]
mov edx, dword [esp + 0x42c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8d991aa3
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x29c50980
sete cl
mov dword [esp + 0x4bc], ecx
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5f0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x5ec], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x819e38ac
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xcda2c3c0
sete cl
mov dword [esp + 0x384], ecx
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x384]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9a6ea1f4
sete cl
mov dword [esp + 0x2ac], ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x4e17ab4c
sete cl
mov dword [esp + 0x514], ecx
mov eax, dword [esp + 0x518]
mov ecx, dword [esp + 0x514]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x61c]
test eax, eax
mov eax, 0xcda2c3c0
jne 0x4303a7
mov eax, 0x9a6ea1f4
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
movzx edx, word [esp + 0x22]
imul ecx, edx
mov esi, dword [esp + 0x2c]
mov edi, esi
not edi
mov ebx, ecx
and ebx, edi
mov edx, ecx
or edx, edi
not edx
imul edx, ebx
mov edi, ecx
and edi, esi
or ecx, esi
imul ecx, edi
add eax, ecx
add eax, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x16809ae5
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x200]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc996fc62
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9cce05f1
setl cl
mov dword [esp + 0x2cc], ecx
mov ecx, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x96ed3b99
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x775e6ec4
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc83970e3
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x600]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x26fc21fd
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x604]
inc eax
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xcf73d34a
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x97d86868
setl cl
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x294]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xefd8a18d
sete cl
mov dword [esp + 0x414], ecx
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x414]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9cce05f1
sete cl
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x8df9daa4
sete cl
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x29c50980
setl cl
mov dword [esp + 0x4c4], ecx
mov ecx, dword [esp + 0x4c8]
mov edx, dword [esp + 0x4c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x5362c848
sete cl
mov dword [esp + 0x524], ecx
mov eax, dword [esp + 0x528]
mov ecx, dword [esp + 0x524]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc108fd41
setl cl
mov dword [esp + 0x354], ecx
mov ecx, dword [esp + 0x358]
mov edx, dword [esp + 0x354]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x4a662860
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5362c848
setl cl
mov dword [esp + 0x53c], ecx
mov ecx, dword [esp + 0x540]
mov edx, dword [esp + 0x53c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x19e82b66
setl cl
mov dword [esp + 0x4dc], ecx
mov ecx, dword [esp + 0x4e0]
mov edx, dword [esp + 0x4dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x36be76aa
sete cl
mov dword [esp + 0x4e4], ecx
mov eax, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xcda2c3c0
setl cl
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x3fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x240]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8d991aa3
setl cl
mov dword [esp + 0x2a4], ecx
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x884a630b
setl cl
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x25c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x775e6ec4
sete cl
mov dword [esp + 0x59c], ecx
mov eax, dword [esp + 0x5a0]
mov ecx, dword [esp + 0x59c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xfe90072
sete cl
mov dword [esp + 0x44c], ecx
mov eax, dword [esp + 0x450]
mov ecx, dword [esp + 0x44c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa66bc49b
setl cl
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1fc738b9
setl cl
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x498]
mov edx, dword [esp + 0x494]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x403da489
setl cl
mov dword [esp + 0x504], ecx
mov ecx, dword [esp + 0x508]
mov edx, dword [esp + 0x504]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa9bf10c9
sete cl
mov dword [esp + 0x31c], ecx
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x21370d0e
setl cl
mov dword [esp + 0x48c], ecx
mov ecx, dword [esp + 0x490]
mov edx, dword [esp + 0x48c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x4a662860
sete cl
mov dword [esp + 0x50c], ecx
mov eax, dword [esp + 0x510]
mov ecx, dword [esp + 0x50c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x215be9df
sete cl
mov dword [esp + 0x49c], ecx
mov eax, dword [esp + 0x4a0]
mov ecx, dword [esp + 0x49c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x75ad88b9
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x884a630b
sete cl
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb4321a33
sete cl
mov dword [esp + 0x32c], ecx
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x32c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
sub eax, ecx
mov eax, 0xa9bf10c9
jl 0x430948
mov eax, 0x4e17ab4c
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x218]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x96ed3b99
setl cl
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x29c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x16809ae5
sete cl
mov dword [esp + 0x454], ecx
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x454]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x5e4]
test eax, eax
setne byte [esp + 0x26]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xbe965822
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1fc738b9
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xee526407
sete cl
mov dword [esp + 0x40c], ecx
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x40c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xc83970e3
sete cl
mov dword [esp + 0x35c], ecx
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x35c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x618], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x614], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x4da6849
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [ecx + eax*4]
jmp eax
scasb al, byte es:[edi]
outsb dx, byte [esi]
out dx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1fc738b9
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa66bc49b
sete cl
mov dword [esp + 0x2f4], ecx
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x608]
shr ecx, 0x10
mov eax, dword [esp + 0x60c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
movzx esi, byte [esp + 0x34]
shl esi, 0x10
mov ecx, eax
not ecx
mov edi, esi
not edi
mov edx, ecx
and edx, 0x52bfc576
and eax, 0xad403a89
mov ebx, edi
and ebx, 0x52bfc576
and esi, 0x400000
or edx, eax
or ebx, esi
xor edx, ebx
or ecx, edi
not ecx
or edx, ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x7a998aa5
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9a6ea1f4
setl cl
mov dword [esp + 0x314], ecx
mov ecx, dword [esp + 0x318]
mov edx, dword [esp + 0x314]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd39a2e3a
setl cl
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x3ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
and dword [edx - 0x7e], esi
push 0xffffffffffffff8b
inc esp
and al, 0x30
mov ecx, dword [esp + 0x58]
movzx edx, word [esp + 0x22]
imul ecx, edx
mov esi, dword [esp + 0x2c]
mov edi, esi
not edi
mov ebx, ecx
and ebx, edi
mov edx, ecx
or edx, edi
not edx
imul edx, ebx
mov edi, ecx
and edi, esi
or ecx, esi
imul ecx, edi
add eax, ecx
add eax, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xcfd96227
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xde34d541
sete cl
mov dword [esp + 0x3bc], ecx
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x25]
test al, al
mov eax, 0x43044db0
jne 0x430c14
mov eax, 0x9cce05f1
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x36be76aa
setl cl
mov dword [esp + 0x5cc], ecx
mov ecx, dword [esp + 0x5d0]
mov edx, dword [esp + 0x5cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x75ad88b9
setl cl
mov dword [esp + 0x594], ecx
mov ecx, dword [esp + 0x598]
mov edx, dword [esp + 0x594]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x775e6ec4
setl cl
mov dword [esp + 0x5b4], ecx
mov ecx, dword [esp + 0x5b8]
mov edx, dword [esp + 0x5b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x577d64c2
sete cl
mov dword [esp + 0x54c], ecx
mov eax, dword [esp + 0x550]
mov ecx, dword [esp + 0x54c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
lea eax, [eax + ecx*4]
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa34a496f
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x40]
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 + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
test eax, eax
sete byte [esp + 0x25]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x229bb4c5
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8d991aa3
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x403da489
sete cl
mov dword [esp + 0x4ec], ecx
mov eax, dword [esp + 0x4f0]
mov ecx, dword [esp + 0x4ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9a6ea1f4
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x4da6849
sete cl
mov dword [esp + 0x43c], ecx
mov eax, dword [esp + 0x440]
mov ecx, dword [esp + 0x43c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xde34d541
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc83970e3
setl cl
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x378]
mov edx, dword [esp + 0x374]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb4321a33
setl cl
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x334]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb056f8b0
setl cl
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x33c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xe4c551d2
setl cl
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xbe965822
sete cl
mov dword [esp + 0x344], ecx
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x344]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esp + 0x3c], 5
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x21370d0e
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfe90072
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc996fc62
sete cl
mov dword [esp + 0x364], ecx
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x364]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x577d64c2
setl cl
mov dword [esp + 0x5c4], ecx
mov ecx, dword [esp + 0x5c8]
mov edx, dword [esp + 0x5c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa4579e17
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x21370d0e
sete cl
mov dword [esp + 0x484], ecx
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x484]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf1b9658c
sete cl
mov dword [esp + 0x41c], ecx
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x41c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfe90072
setl cl
mov dword [esp + 0x464], ecx
mov ecx, dword [esp + 0x468]
mov edx, dword [esp + 0x464]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9dd607a3
setl cl
mov dword [esp + 0x30c], ecx
mov ecx, dword [esp + 0x310]
mov edx, dword [esp + 0x30c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x8d991aa3
sete cl
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6a818ccf
setl cl
mov dword [esp + 0x574], ecx
mov ecx, dword [esp + 0x578]
mov edx, dword [esp + 0x574]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xe4c551d2
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x21]
mov dword [esp + 0x3c], 1
and al, 1
movzx eax, al
add esp, 0x654
pop esi
pop edi
pop ebx
ret
xor ecx, ecx
mov edx, eax
sub edx, 0x74030549
setl cl
mov dword [esp + 0x5bc], ecx
mov ecx, dword [esp + 0x5c0]
mov edx, dword [esp + 0x5bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x577d64c2
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xeac06296
setl cl
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6a818ccf
sete cl
mov dword [esp + 0x56c], ecx
mov eax, dword [esp + 0x570]
mov ecx, dword [esp + 0x56c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x610]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
and eax, 0xff00ff00
mov dword [esp + 0x60c], eax
mov eax, dword [esp + 0x34]
mov ecx, eax
xor ecx, 0xff00ffff
and ecx, eax
mov dword [esp + 0x608], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa66bc49b
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x26fc21fd
sete cl
mov dword [esp + 0x4b4], ecx
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbe965822
setl cl
mov dword [esp + 0x37c], ecx
mov ecx, dword [esp + 0x380]
mov edx, dword [esp + 0x37c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f090
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6a818ccf
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa34a496f
sete cl
mov dword [esp + 0x2dc], ecx
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x310], eax
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
add ecx, 0x30
xor edx, edx
sub eax, ecx
setb dl
mov dword [esi + 0x268], edx
mov eax, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [0x4489d4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xa59f404f
call fcn.0043b080
add esp, 8
call eax
mov ecx, dword [esi + 0x300]
mov edx, dword [esi + 0x304]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov edi, dword [esi + 4]
mov byte [edi], 0
mov eax, dword [esi]
mov dword [eax], 1
mov eax, dword [esi + 0x308]
mov ecx, dword [esi + 0x30c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x2e0], 1
mov eax, dword [esi + 0x2e4]
mov ecx, dword [esi + 0x2e0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call eax
mov ecx, dword [esi + 0xc8]
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call eax
mov ecx, dword [esi + 0xcc]
mov dword [ecx], eax
mov eax, dword [esi + 0x44]
mov byte [eax], 1
mov eax, dword [edi]
sub esp, 0xc
mov edi, dword [esi + 0x5c]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0
call fcn.0043bfd0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x258], 0
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x298], 1
mov eax, dword [esi + 0x29c]
mov ecx, dword [esi + 0x298]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040f090
sub esp, 4
mov dword [esp], 0
call fcn.0043af20
add esp, 4
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
sete cl
mov dword [esi + 0x2a8], 0
mov edx, dword [esi + 0x2ac]
mov edi, dword [esi + 0x2a8]
mov edx, dword [edx + edi*4]
jmp edx
mov al, cl
and eax, 1
mov dword [esi + 0x2f0], eax
mov eax, dword [esi + 0x2f4]
mov ecx, dword [esi + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xc4]
mov al, byte [eax]
mov byte [esi + 0x4c], al
mov eax, dword [esi + 0x34]
mov byte [eax], 0x5a
mov byte [eax + 1], 0xb5
mov byte [eax + 2], 0x2c
mov byte [eax + 3], 0xb3
mov byte [eax + 4], 0x25
mov byte [eax + 5], 0xb1
mov byte [eax + 6], 0x3d
mov byte [eax + 7], 0xaf
mov byte [eax + 8], 0x8e
mov byte [eax + 9], 0xad
mov byte [eax + 0xa], 0x31
mov byte [eax + 0xb], 0xab
mov byte [eax + 0xc], 0x3b
mov byte [eax + 0xd], 0xa9
mov byte [eax + 0xe], 0x23
mov byte [eax + 0xf], 0xa7
mov byte [eax + 0x10], 0x34
mov byte [eax + 0x11], 0xa5
mov byte [eax + 0x12], 0x28
mov byte [eax + 0x13], 0xa3
mov byte [eax + 0x14], 0x2c
mov byte [eax + 0x15], 0xa1
mov byte [eax + 0x16], 0x27
mov byte [eax + 0x17], 0x5f
mov byte [eax + 0x18], 0x7e
mov byte [eax + 0x19], 0x5d
mov byte [eax + 0x1a], 0xcb
mov byte [eax + 0x1b], 0x5b
mov byte [eax + 0x1c], 0xd7
mov byte [eax + 0x1d], 0x59
mov byte [eax + 0x1e], pe_nt_image_headers32
mov byte [eax + 0x1f], 0x57
mov byte [eax + 0x20], 0xc4
mov byte [eax + 0x21], 0x55
mov byte [eax + 0x22], 0xc5
mov byte [eax + 0x23], 0x53
mov byte [eax + 0x24], 0xde
mov byte [eax + 0x25], 0x51
mov byte [eax + 0x26], 0x70
mov byte [eax + 0x27], 0x4f
mov byte [eax + 0x28], 0xc3
mov byte [eax + 0x29], 0x4d
mov byte [eax + 0x2a], 0xc7
mov byte [eax + 0x2b], 0x4b
mov byte [eax + 0x2c], 0xda
mov byte [eax + 0x2d], 0x49
mov byte [eax + 0x2e], 0xd8
mov byte [eax + 0x2f], 0x47
mov byte [eax + 0x30], 0xd7
mov byte [eax + 0x31], 0x45
mov byte [eax + 0x32], 0xca
mov byte [eax + 0x33], 0x43
mov byte [eax + 0x34], 0xce
mov byte [eax + 0x35], 0x41
mov byte [eax + 0x36], 0xdb
mov byte [eax + 0x37], 0x7f
mov byte [eax + 0x38], 0xe2
mov byte [eax + 0x39], 0x7d
mov byte [eax + 0x3a], 0xa3
mov byte [eax + 0x3b], 0x7b
mov byte [eax + 0x3c], 0x7a
mov byte [eax + 0x3d], 0x79
mov dword [eax + 0x41], 0
mov dword [eax + 0x3e], 0
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x45
jae 0x431f6b
jmp 0x431f24
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x34]
movzx edx, byte [edi + ecx]
mov ecx, eax
add ecx, edx
add eax, 0xe9
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0xea36bbe9
mov dword [esi + 0x32c], ecx
mov eax, dword [esi + 0x32c]
add al, 0xa1
mov ecx, dword [esi + 0xc]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x45
jb 0x431f24
jmp 0x431f6b
mov edx, dword [esi + 0xd4]
mov edi, edx
mov ecx, 0xf
mov ebx, dword [esi + 0x34]
mov eax, ebx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x3c
add ebx, 0x3c
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov eax, dword [esi + 0x60]
mov word [eax], 0x3c
mov word [eax + 2], 0x3e
mov dword [eax + 4], edx
mov eax, dword [esi + 0xd0]
mov al, byte [eax]
mov byte [esi + 0x50], al
mov ebx, dword [esi + 0xdc]
mov byte [ebx], 0xa7
mov byte [ebx + 1], 0x19
mov byte [ebx + 2], 0xbb
mov byte [ebx + 3], 0x1b
mov byte [ebx + 4], 0x96
mov byte [ebx + 5], 5
mov byte [ebx + 6], 0x90
mov byte [ebx + 7], 7
mov byte [ebx + 8], 0xa9
mov byte [ebx + 9], 1
mov byte [ebx + 0xa], 0x94
mov byte [ebx + 0xb], 3
mov byte [ebx + 0xc], 0xa3
mov byte [ebx + 0xd], 0xd
mov byte [ebx + 0xe], 0xe
mov byte [ebx + 0xf], 0xf
mov word [ebx + 0x10], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x12
jae 0x432051
jmp 0x43200d
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [ebx + ecx]
mov edx, eax
add edx, 0xcec9a92c
lea eax, [eax + ecx - 0x313656d4]
and edx, ecx
add edx, edx
sub eax, edx
mov dword [esi + 0x330], eax
mov eax, dword [esi + 0x330]
add al, 0xcc
mov ecx, dword [esi + 0x10]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
cmp eax, 0x12
jb 0x43200d
jmp 0x432051
mov eax, ebx
mov edx, dword [esi + 0xe0]
mov edi, edx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x10
add ebx, 0x10
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov edi, dword [esi + 0xd8]
mov word [edi], 0xe
mov word [edi + 2], 0x10
mov dword [edi + 4], edx
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], 0x30
mov byte [esi + 0x78], 0x57
mov byte [esi + 0x79], 0x50
mov byte [esi + 0x7a], 0x51
mov byte [esi + 0x7b], 0x52
mov dword [esi + 0x7f], 0
mov dword [esi + 0x7c], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xb
mov edi, dword [esi + 4]
jae 0x432111
jmp 0x4320cd
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x78]
mov edx, eax
add edx, 0xf93397f3
add eax, 0xf3
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x334], edx
mov eax, dword [esi + 0x334]
add al, 0x5b
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x78], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
cmp eax, 0xb
jb 0x4320cd
jmp 0x432111
mov eax, dword [esi + 0x78]
mov ecx, dword [0x4489e0]
cmp ecx, 0
je 0x4321a3
mov ebx, edi
mov edx, dword [0x4489e4]
xor edi, edi
cmp dword [edx + edi*8], 0xf1cfd130
jne 0x432142
mov ecx, dword [edx + edi*8 + 4]
cmp ecx, eax
mov edi, ebx
je 0x4321a3
jmp 0x43214b
add edi, 1
cmp edi, ecx
je 0x43219f
jmp 0x43212d
mov eax, dword [0x4489e8]
xor edx, edx
sub esp, 0x24
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 6
mov dword [esp + 0xc], 0x50000018
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
mov eax, dword [esi + 0x64]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0xe8]
mov dword [esp + 0x20], eax
call fcn.00439450
add esp, 0x24
jmp 0x4321a3
mov edi, ebx
jmp 0x4321a3
mov byte [edi], 0
mov eax, dword [esi]
mov dword [eax], 1
mov eax, dword [esi + 0x2e8]
mov ecx, dword [esi + 0x2ec]
mov eax, dword [ecx + eax*4]
jmp eax
movzx ecx, ax
xor eax, eax
sub ecx, 0x419
sete cl
mov edx, dword [esi + 0x2f8]
mov edi, dword [esi + 0x2fc]
mov edx, dword [edi + edx*4]
jmp edx
call fcn.0040f090
mov dword [esi + 0x2b0], 1
mov eax, dword [esi + 0x2b4]
mov ecx, dword [esi + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
call fcn.00408c90
add esp, 4
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov eax, dword [edi]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x30]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0xc], 0
call fcn.0043c0c0
add esp, 0x10
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x250], 1
mov edx, dword [esi + 0x254]
mov edi, dword [esi + 0x250]
mov edx, dword [edx + edi*4]
mov edi, dword [esi + 0x5c]
jmp edx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
sub esp, 0x14
mov edi, dword [esi + 0x30]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0x10], 0x60
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x120089
call fcn.0043bc70
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esi + 0x280], eax
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x2d0], eax
mov eax, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov byte [edi], 1
mov eax, dword [esi]
mov dword [eax], 1
mov dword [esi + 0x2c0], 0
mov eax, dword [esi + 0x2c4]
mov ecx, dword [esi + 0x2c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x2a0], eax
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f090
mov dword [esi + 0x2c8], 1
mov eax, dword [esi + 0x2cc]
mov ecx, dword [esi + 0x2c8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040f090
push eax
mov dword [esi + 4], esp
push eax
mov ebx, esp
sub esp, 0x14
mov ecx, esp
push eax
mov dword [esi], esp
sub esp, 0x40
mov dword [esi + 0xd4], esp
sub esp, 0x48
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x34], eax
mov esp, eax
push eax
mov dword [esi + 0xc4], esp
sub esp, 8
mov dword [esi + 0x60], esp
sub esp, 0x10
mov dword [esi + 0xe0], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xdc], eax
mov esp, eax
push eax
mov dword [esi + 0xd0], esp
sub esp, 8
mov dword [esi + 0xd8], esp
sub esp, 0xc
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0xe8], esp
push eax
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0xc8], esp
push eax
mov dword [esi + 0xcc], esp
push eax
mov dword [esi + 0x44], esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x40], esp
sub esp, 0x88
mov dword [esi + 0xec], esp
sub esp, 0x90
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x2c], eax
mov esp, eax
push eax
mov dword [esi + 0xe4], esp
sub esp, 8
mov dword [esi + 0x6c], esp
sub esp, 0x10
mov dword [esi + 0xf4], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x3c], eax
mov esp, eax
push eax
mov dword [esi + 0xf0], esp
sub esp, 8
mov dword [esi + 0x68], esp
sub esp, 0xc
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x74], esp
lea eax, [0x43fbf0]
mov dword [ebx], eax
mov eax, dword [ebx]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0x1c
mov edi, ecx
mov dword [esp + 8], ecx
call fcn.00432bb0
add esp, 0xc
mov dword [esi + 0x38], ebx
mov ecx, dword [ebx]
add ecx, 0x1c
mov eax, 0x14
cmp eax, 0
je 0x4326e6
add eax, 0xffffffff
mov edx, edi
mov edi, edx
add edi, 1
mov dl, byte [edx]
mov ebx, ecx
add ebx, 1
mov dh, byte [ecx]
cmp dl, dh
mov ecx, ebx
je 0x4326be
movzx ecx, dl
movzx eax, dh
sub ecx, eax
jmp 0x4326ea
xor ecx, ecx
jmp 0x4326ea
xor eax, eax
test ecx, ecx
setne cl
mov dword [esi + 0x318], 0
mov edx, dword [esi + 0x31c]
mov edi, dword [esi + 0x318]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040f090
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov ecx, dword [eax]
xor eax, eax
sub ecx, 1
sete cl
mov dword [esi + 0x2d8], 0
mov edx, dword [esi + 0x2dc]
mov edi, dword [esi + 0x2d8]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040f090
mov byte [edi], 1
mov eax, dword [esi]
mov dword [eax], 1
mov dword [esi + 0x290], 0
mov eax, dword [esi + 0x294]
mov ecx, dword [esi + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov byte [esi + 0xa8], 0x57
mov byte [esi + 0xa9], 0x50
mov byte [esi + 0xaa], 0x51
mov byte [esi + 0xab], 0x52
mov dword [esi + 0xaf], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0x24], 0
mov ecx, dword [esi + 0x24]
cmp ecx, 0xb
jae 0x432ab7
jmp 0x432a6b
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x24]
movzx edx, byte [esi + edx + 0xa8]
mov edi, ecx
add edi, 0xf93397f3
add ecx, 0xf3
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x344], edi
mov ecx, dword [esi + 0x344]
add cl, 0x5b
mov edx, dword [esi + 0x24]
mov byte [esi + edx + 0xa8], cl
mov ecx, dword [esi + 0x24]
inc ecx
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x24]
cmp ecx, 0xb
jb 0x432a6b
jmp 0x432ab7
mov ecx, dword [esi + 0xa8]
mov edx, dword [0x4489e0]
cmp edx, 0
mov edi, dword [esi + 4]
je 0x432b29
mov dword [esi + 0xbc], eax
mov eax, edi
mov edi, dword [0x4489e4]
xor ebx, ebx
cmp dword [edi + ebx*8], 0xad91fd63
jne 0x432af6
mov edx, dword [edi + ebx*8 + 4]
cmp edx, ecx
mov edi, eax
mov eax, dword [esi + 0xbc]
je 0x432b29
jmp 0x432aff
add ebx, 1
cmp ebx, edx
je 0x432b25
jmp 0x432adb
mov ecx, dword [0x4489e8]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
call fcn.00439450
add esp, 0x10
jmp 0x432b29
mov edi, eax
jmp 0x432b29
mov byte [edi], 1
mov edx, dword [esi]
mov dword [edx], 1
mov eax, dword [esi + 0x260]
mov ecx, dword [esi + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x288]
mov ecx, dword [esi + 0x28c]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [esi + 4]
mov byte [edi], 1
mov eax, dword [esi]
mov dword [eax], 1
mov eax, dword [esi + 0x278]
mov ecx, dword [esi + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax