Function at 0x423702
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x470
mov esi, esp
push eax
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0x60], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x2c], eax
mov esp, eax
push eax
sub esp, 0x24
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x5c], eax
mov esp, eax
mov dword [esi + 0x54], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x68], 0x38c018b
mov dword [esi + 0x6c], 0x1fbf1dbd
mov dword [esi + 0x70], 0x1b6e19a9
mov dword [esi + 0x74], 0x179c15a5
mov dword [esi + 0x78], 0x131011a9
mov dword [esi + 0x7c], 0
mov word [esi + 0x80], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x19
ja 0x422c49
nop
nop
nop
nop
nop
mov edx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx edi, byte [esi + eax + 0x68]
lea eax, [edx + 0x5e2e662b]
lea ecx, [edx + edi]
add ecx, 0x5e2e662b
add edx, 0x2b
and edx, edi
and eax, edi
add eax, edx
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
add al, 0xd3
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x68], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x1a
jb 0x422c00
lea edi, [esi + 0x68]
lea ecx, [esi + 0x4c]
push edi
call fcn.00437430
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x443948]
lea ecx, [esi + 0x4c]
push 0x410
call fcn.004376a0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x443950]
jmp dword [0x4439ec]
mov dword [esi + 0x68], 0x44635a4d
mov dword [esi + 0x6c], 0x5644614e
mov dword [esi + 0x70], 0x5a5d4361
mov dword [esi + 0x74], 0x6f405c7d
mov dword [esi + 0x78], 0x4e7b706c
mov dword [esi + 0x7c], 0x57767c75
mov dword [esi + 0x80], 0x2c597458
mov dword [esi + 0x84], 0x28072e13
mov dword [esi + 0x88], 0x121c10
mov dword [esi + 0x8c], 0x20037911
mov dword [esi + 0x90], 0x537c0501
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x37
ja 0x422d51
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x68]
lea edx, [eax + 0x637ad8a5]
add eax, 0xa5
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x40]
mov ecx, eax
xor ecx, 0x7c
and eax, 0x7c
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x68], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x38
jb 0x422d10
lea eax, [esi + 0x40]
lea ecx, [esi + 0x4c]
push 0
push 0x2b
push edi
push eax
call fcn.00437c30
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0x44]
xor eax, eax
cmp edi, ebx
sete al
mov dword [esi + 0x34], ebx
jmp dword [eax*4 + 0x443958]
mov eax, ebx
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00408de0
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 4
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x64], 0
xor ecx, ecx
cmp edi, ebx
setne cl
mov dword [esi + 0x28], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0
jmp dword [ecx*4 + 0x443960]
mov edi, dword [esi + 0x38]
add edi, 4
xor eax, eax
mov ebx, dword [esi + 0x34]
cmp edi, ebx
setne al
jmp dword [eax*4 + 0x443960]
mov dword [esi + 0x38], edi
mov edi, dword [edi]
push 0x400
push 0
lea ebx, [esi + 0x68]
push ebx
call fcn.00408ea0
add esp, 0xc
lea eax, [esi + 4]
lea ecx, [esi + 0x4c]
push eax
push 0x400
push ebx
push edi
call fcn.00437ac0
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
jmp dword [ecx*4 + 0x443968]
xor eax, eax
cmp dword [esi + 4], 0
sete al
jmp dword [eax*4 + 0x443970]
mov eax, 1
jmp dword [eax*4 + 0x443978]
mov eax, dword [esi + 0x64]
jmp dword [eax*4 + 0x443978]
mov byte [esi + 0x467], 0
movzx ecx, byte [esi + 0x68]
xor eax, eax
test cl, cl
je 0x422e62
lea edx, [esi + 0x68]
nop
nop
cmp cl, 0x2e
je 0x422e60
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x422e50
jmp 0x422e62
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443980]
lea edi, [eax + 1]
movzx ecx, byte [eax + 1]
xor ebx, ebx
test cl, cl
je 0x422e92
mov edx, edi
nop
cmp cl, 0x2e
je 0x422e90
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x422e80
jmp 0x422e92
mov ebx, edx
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x443988]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x20], edi
sub ebx, edi
mov edi, ebx
and edi, 0xfffffffc
mov edx, ebx
and edx, 3
mov ecx, ebx
or ecx, 3
imul ecx, edx
xor edx, 3
imul edx, edi
mov edi, ecx
add edi, edx
mov ecx, ebx
shr edi, 2
movzx eax, byte [eax + ebx]
cmp eax, 0x3d
je 0x422ed7
cmp eax, 0x2e
jne 0x422ed8
dec edi
mov ebx, dword [esi + 0x20]
cmp byte [ecx + ebx - 2], 0x3d
mov dword [esi + 0x24], ecx
je 0x422ef7
mov eax, ecx
xor eax, 0xfffffffd
and ecx, 0xfffffffd
lea eax, [eax + ecx*2]
cmp byte [ebx + eax + 1], 0x2e
jne 0x422ef8
dec edi
mov dword [esi + 0x58], edi
lea eax, [edi + 1]
push eax
call fcn.00408de0
add esp, 4
mov dword [esi + 0x1c], eax
cmp dword [esi + 0x18], ebx
je 0x422ffd
xor edx, edx
mov edi, 2
jmp 0x422f30
mov edx, dword [esi + 0x14]
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x422ffd
mov dword [esi + 0x18], edx
mov ebx, dword [esi + 0x20]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00419140
add esp, 4
mov byte [esi + 0x14], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00419140
add esp, 4
movzx ecx, byte [esi + 0x14]
shl cl, 2
mov edx, eax
shr dl, 4
and dl, 3
or dl, cl
mov ecx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x18]
mov byte [ecx + ebx], dl
lea edx, [ebx + 1]
mov ecx, dword [esi + 0x24]
cmp edi, ecx
jae 0x422f20
mov byte [esi + 0x14], al
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
push eax
mov ebx, edx
call fcn.00419140
mov edx, ebx
mov ecx, dword [esi + 0x24]
add esp, 4
cmp al, 0x40
je 0x422f20
movzx edx, byte [esi + 0x14]
shl dl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, dl
mov ebx, dword [esi + 0x18]
lea edx, [ebx + 2]
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x1c]
mov byte [edx + ebx + 1], ah
mov ebx, eax
lea eax, [edi + 1]
cmp eax, ecx
jae 0x422f1c
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00419140
mov ecx, dword [esi + 0x24]
add esp, 4
cmp al, 0x40
mov edx, dword [esi + 0x14]
je 0x422f20
shl bl, 6
add al, bl
mov edx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x18]
mov byte [edx + ebx + 2], al
add ebx, 3
mov edx, ebx
jmp 0x422f20
mov eax, dword [esi + 0x58]
mov edi, dword [esi + 0x1c]
mov byte [edi + eax], 0
push edi
call fcn.00401ee0
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x30]
mov dword [eax], ebx
jmp dword [0x443990]
jmp dword [0x44399c]
push edi
call fcn.00408df0
add esp, 4
nop
nop
nop
nop
push edi
call fcn.00408df0
add esp, 4
jmp dword [0x4439a0]
push ebx
call fcn.00402890
add esp, 4
mov edi, dword [esi + 0x60]
mov dword [edi], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4439a8]
jmp 0x4231ec
mov ebx, dword [esi + 0x2c]
jmp dword [0x4439b0]
mov dword [ebx], 0x73d4d8db
mov eax, dword [esi + 0x3c]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0xf
ja 0x4230e1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + 0x14754ace]
and edx, ecx
add eax, ecx
add eax, 0x14754ace
add edx, edx
sub eax, edx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0x5d
and eax, 0x5d
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 8]
mov byte [ebx + ecx], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x10
jb 0x4230a0
push ebx
push dword [edi]
call fcn.00402810
add esp, 8
jmp case.0x422e99.10
push ebx
push dword [edi]
call fcn.00402810
add esp, 8
jmp dword [0x4439bc]
mov dword [ebx], 0x73d4d8db
mov eax, dword [esi + 0x3c]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0xf
ja 0x4230f0
nop
nop
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + 0x14754ace]
and edx, ecx
add eax, ecx
add eax, 0x14754ace
add edx, edx
sub eax, edx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0x5d
and eax, 0x5d
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 8]
mov byte [ebx + ecx], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x10
jb 0x423130
jmp 0x4230f0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4439c0]
mov edx, dword [esi + 0xc]
jmp 0x4231b8
movzx ecx, byte [eax]
test cl, cl
je 0x4231ad
inc eax
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4231a0
jmp 0x4231b0
mov edx, dword [esi + 0xc]
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esi + 0x68]
test al, al
je 0x4231db
lea ecx, [esi + 0x69]
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 0x4231d0
mov byte [edx], 0xa
inc edx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x30]
mov ebx, dword [eax]
mov al, 1
mov dword [esi + 0x10], eax
push ebx
call fcn.00402af0
add esp, 4
mov edi, dword [esi + 0x38]
add edi, 4
xor eax, eax
mov ebx, dword [esi + 0x34]
cmp edi, ebx
setne al
jmp dword [eax*4 + 0x443960]
mov eax, dword [esi + 0x10]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4439d8]
mov ebx, dword [esi + 0x28]
jmp dword [0x4439e0]
mov dword [esi + 0x10], 0
test edi, edi
jne 0x423305
jmp 0x423312
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov ebx, dword [esi + 0x28]
sub eax, ebx
mov dword [esi + 0xc], eax
mov edi, dword [esi + 0x5c]
mov dword [edi], 0xbfbabd4d
mov dword [edi + 4], 0xabb7a6a1
mov dword [edi + 8], 0xaca0a6bd
mov dword [edi + 0xc], 0xb2a24e63
mov dword [edi + 0x10], 0x4769a8bd
mov dword [edi + 0x14], 0xd5cbaeab
mov dword [edi + 0x18], 0xdbde17db
mov word [edi + 0x1c], 0x61dc
mov dword [edi + 0x1e], 0
mov dword [edi + 0x22], 0
mov byte [edi + 0x26], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x26
ja 0x4232d4
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
lea edx, [eax + 0x612dfaaa]
add eax, 0xaa
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x68], edx
mov eax, dword [esi + 0x68]
add al, 0x5a
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x27
jb 0x4232a0
mov ecx, dword [ebp + 8]
push dword [esi + 0xc]
push ebx
push edi
call fcn.00409730
mov dword [esi + 0x10], eax
jmp dword [0x4439e0]
push ebx
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 0x10]
and al, 1
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x40]
mov ebx, dword [esi + 0x44]
test edi, edi
je 0x423312
cmp edi, ebx
je 0x423312
push edi
call fcn.00408df0
add esp, 4
mov ebx, dword [esi + 0x10]
jmp dword [0x4439ec]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0x4c]
call fcn.004377e0
lea ecx, [esi + 0x4c]
call fcn.004377e0
jmp dword [0x4439f4]
int3
mov dword [esi + 0x58], 0x3b8a398a
mov dword [esi + 0x5c], 0x3f753d7d
mov dword [esi + 0x60], 0x23952175
mov dword [esi + 0x64], 0x27962596
mov dword [esi + 0x68], 0x2b94299d
mov dword [esi + 0x6c], 0x2f6f2d65
mov dword [esi + 0x70], 0x1358116b
mov dword [esi + 0x74], 0x175a1559
mov dword [esi + 0x78], 0x1ba41951
mov dword [esi + 0x7c], 0x1fad1daf
mov dword [esi + 0x80], 0x3b40158
mov dword [esi + 0x84], 0x74705bb
mov dword [esi + 0x88], 0xb4f09b4
mov dword [esi + 0x8c], 0xfba0db6
mov dword [esi + 0x90], 0x73dc71ad
mov dword [esi + 0x94], 0x77d375e4
mov dword [esi + 0x98], 0x7bcd79ca
mov dword [esi + 0x9c], 0x7fdb7dee
mov dword [esi + 0xa0], 0x63cf61dd
mov word [esi + 0xa4], 0x6562
lea ecx, [esi + 0xa6]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x53
ja 0x423537
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esi]
mov ecx, dword [esi]
movzx edx, byte [esi + ecx + 0x58]
lea ecx, [ebx + 0x87]
and ecx, edx
mov edi, 0xdee25078
sub edi, ebx
or edi, edx
not edi
add edi, edx
sub edi, ecx
mov dword [esi + 0xec], edi
mov ecx, dword [esi + 0xec]
mov edx, ecx
or edx, 0x4e
and ecx, 0x4e
add ecx, edx
inc cl
mov edx, dword [esi]
mov byte [esi + edx + 0x58], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x54
jb 0x4234f0
lea ecx, [esi + 0x14]
lea ebx, [esi + 0x58]
push 0
push 0
push eax
push ecx
push ebx
call fcn.0043be10
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443a00]
lea ecx, [esi + 0xdc]
lea eax, [esi + 0x114]
push ecx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi + 0x14]
call fcn.0043c2f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443a08]
mov ecx, dword [esi + 0xdc]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x42359b
mov eax, 0xffffffff
push eax
call fcn.00408de0
add esp, 4
mov edi, eax
mov dword [esi + 0x58], 0x63f66591
mov dword [esi + 0x5c], 0x6ffc61ff
mov dword [esi + 0x60], 0x6bf86d81
mov dword [esi + 0x64], 0x179869fe
mov dword [esi + 0x68], 0x138815f9
mov dword [esi + 0x6c], 0x1f1011fa
jmp dword [0x443a10]
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x17
ja case.0x42354f.4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [esi + ecx + 0x58]
lea edx, [eax + ecx]
add edx, 0xf4bfbfb1
add eax, 0xf4bfbfb1
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xec], edx
mov eax, dword [esi + 0xec]
mov ecx, eax
xor ecx, 0x28
and eax, 0x28
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi]
mov byte [esi + ecx + 0x58], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x18
jb 0x4235f0
jmp case.0x42354f.4
jmp dword [0x443a1c]
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x17
ja 0x423640
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [esi + ecx + 0x58]
lea edx, [eax + ecx]
add edx, 0xf4bfbfb1
add eax, 0xf4bfbfb1
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xec], edx
mov eax, dword [esi + 0xec]
mov ecx, eax
xor ecx, 0x28
and eax, 0x28
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi]
mov byte [esi + ecx + 0x58], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x18
jb 0x423660
jmp 0x423640
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x443a90]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443aa0]
lea eax, [esi + 0xdc]
push eax
push edi
push 0
push ebx
push dword [esi + 0x14]
call fcn.0043ca50
add esp, 0x14
mov ecx, dword [case.0x42354f.10]
nop
nop
nop
nop
jmp ecx
shr eax, 0x1f
mov dword [esi + 4], edi
jmp dword [eax*4 + 0x443a30]
jmp dword [0x443a44]
mov dword [esi + 4], 0
jmp dword [0x443a48]
push edi
call fcn.00408df0
add esp, 4
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov dword [esi + 0x58], 0x7c7d7e7f
mov dword [esi + 0x60], 0
mov dword [esi + 0x5c], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xb
ja 0x42379a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [esi + edx + 0x58]
mov edi, ecx
and edi, 0x8b8edd0
xor ecx, 0x8b8edd0
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esi + 0xec], ecx
mov ecx, dword [esi + 0xec]
add cl, 0x50
mov edx, dword [esi]
mov byte [esi + edx + 0x58], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xc
jb 0x423760
mov ecx, dword [0x447858]
test ecx, ecx
je case.default.0x4237ee
mov edx, dword [esi + 0x58]
xor edi, edi
mov ebx, dword [0x44785c]
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x4237c0
inc edi
cmp ecx, edi
jne 0x4237b0
jmp case.default.0x4237ee
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.default.0x4237ee
push eax
push 1
push dword [0x447860]
push ecx
call fcn.00438dd0
add esp, 0x10
nop
nop
nop
nop
nop
nop
xor ecx, ecx
cmp dword [esi + 4], 0
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x443a50]
lea eax, [esi + 0x58]
push eax
call fcn.0043b2e0
add esp, 4
movzx edx, al
xor eax, eax
mov ecx, 1
jmp dword [edx*4 + 0x443a58]
xor edx, edx
cmp dword [esi + 0x58], 1
sete dl
jmp dword [edx*4 + 0x443a60]
mov eax, 2
xor ecx, ecx
mov edx, dword [case.0x4237ee.9]
nop
jmp edx
jmp dword [ecx*4 + 0x443a78]
xor eax, eax
jmp dword [0x443a88]
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x443a90]
xor ecx, ecx
cmp eax, 4
sete cl
jmp dword [ecx*4 + 0x443a98]
mov eax, dword [case.0x4237ee.24]
nop
nop
nop
nop
nop
jmp eax
mov eax, 0x20119
xor ecx, ecx
jmp dword [ecx*4 + 0x4439f8]
mov eax, dword [case.0x4237ee.29]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp dword [esi + 4], 0
sete al
jmp dword [eax*4 + 0x443ac8]
mov dword [esi + 0x58], 0xfb9df9aa
mov dword [esi + 0x5c], 0xff62fd6b
mov dword [esi + 0x60], 0xf36bf198
mov dword [esi + 0x64], 0xf798f56b
mov dword [esi + 0x68], 0xeb79e993
mov dword [esi + 0x6c], 0xef8aed74
mov dword [esi + 0x70], 0xe379e175
mov dword [esi + 0x74], 0xe772e5bc
mov dword [esi + 0x78], 0x1b7e1982
lea eax, [esi + 0x7c]
mov word [esi + 0x7c], 0x1d1a
mov dword [esi + 0x7e], 0
mov dword [esi + 0x82], 0
mov word [esi + 0x86], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x2f
ja 0x423959
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [esi + edx + 0x58]
lea edi, [ecx - 0x14ac8c21]
add ecx, 0xdf
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0xec], edi
mov ecx, dword [esi + 0xec]
add cl, 0xe7
mov edx, dword [esi]
mov byte [esi + edx + 0x58], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x30
jb 0x423920
lea edi, [esi + 0xec]
lea edx, [esi + 0x58]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esi + 0x110]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
mov edi, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x423990
cmp eax, 0xffffffd9
jge 0x4239ae
mov eax, 0xffffffff
jmp 0x4239b1
xor eax, eax
jmp 0x424b6a
add eax, 0x26
push eax
call fcn.00408de0
add esp, 4
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
movzx ecx, word [edi]
test cx, cx
je 0x4239e1
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4239d0
mov word [eax], 0
movzx ecx, word [esi + 0xec]
test cx, cx
je 0x423a11
lea edx, [esi + 0xee]
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 0x423a00
mov word [eax], 0
jmp dword [0x443ad0]
push edi
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 0x18]
push 0x60
push 3
push 0x120089
mov edi, dword [esi + 0x20]
push edi
push dword [eax]
call fcn.0043b530
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ad8]
xor ebx, ebx
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
xor edi, edi
jmp dword [ecx*4 + 0x443b28]
push eax
call fcn.00408df0
add esp, 4
xor eax, eax
cmp ebx, edi
sete al
mov ecx, edi
jmp dword [eax*4 + 0x443b30]
xor eax, eax
mov edi, ebx
test edi, edi
jne 0x424b31
jmp 0x424b6a
push 0
push dword [esi + 8]
push dword [edi]
call fcn.0043b8e0
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ae0]
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
jmp case.0x423c4c.11
mov eax, dword [esi + 8]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.00408de0
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0xcc]
mov dword [eax], ebx
push 0
push edi
mov edi, dword [esi + 0x20]
push ebx
push dword [edi]
call fcn.0043ba00
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ae8]
mov dword [esi + 0x10], 0
xor eax, eax
test ebx, ebx
sete al
mov dword [esi + 0xc], 0
jmp dword [eax*4 + 0x443b20]
push ebx
call fcn.00408df0
add esp, 4
jmp case.0x423c4c.11
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov byte [ebx + eax], 0
push 0x20
call fcn.00408de0
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 edi, eax
mov eax, dword [esi + 0xc8]
mov dword [eax], edi
mov ecx, edi
push dword [esi + 4]
push ebx
call fcn.00425eb0
movzx eax, al
xor edx, edx
mov dword [esi + 0x10], 0
jmp dword [eax*4 + 0x443af0]
mov edx, dword [esi + 0xc]
mov dword [edx], 0x97989e7b
mov dword [edx + 4], 0x829080ab
mov dword [edx + 8], 0x879b8f57
mov dword [edx + 0xc], 0x684d9cb2
mov dword [edx + 0x10], 0x8e939888
mov dword [edx + 0x14], 0x90917043
mov dword [edx + 0x18], 0xbfb88087
mov word [edx + 0x1c], 0x9bf
mov dword [edx + 0x1e], 0
mov dword [edx + 0x22], 0
mov word [edx + 0x26], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x27
ja 0x423c34
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
mov edx, dword [esi + 0xc]
movzx edx, byte [edx + ecx]
lea ecx, [eax + 0x1d8ebc86]
mov ebx, edx
not ebx
or ebx, ecx
and ecx, edx
mov edx, dword [esi + 0xc]
add ecx, ebx
neg ecx
add eax, ecx
add eax, 0x1d8ebc85
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x58]
mov ecx, eax
or ecx, 0x55
and eax, 0x55
add eax, ecx
inc al
mov ecx, dword [esi]
mov byte [edx + ecx], al
mov eax, dword [esi]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esi], eax
mov eax, dword [esi]
cmp eax, 0x28
jb 0x423be0
mov ecx, edi
push edx
call fcn.004260a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x10], 0
xor edx, edx
jmp dword [ecx*4 + 0x443af8]
add eax, 8
xor edi, edi
mov eax, dword [eax]
mov ecx, dword [esi + 0xd8]
mov dword [ecx], eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0xb4], 0
xor edx, edx
jmp dword [ecx*4 + 0x443b00]
mov dword [esi + 0x10], edi
mov eax, dword [case.0x423c4c.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0xc8]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
mov ebx, dword [esi + 0xcc]
jmp dword [eax*4 + 0x443b18]
mov ecx, edi
call fcn.00426210
push edi
call fcn.00408df0
add esp, 4
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
sete al
mov edi, dword [esi + 0x20]
jmp dword [eax*4 + 0x443b20]
not ecx
mov ebx, dword [esi + 0x10]
mov dword [ebx + edi*8 + 4], ecx
add edx, 8
mov ecx, dword [esi + 0xd8]
mov eax, dword [ecx]
add eax, 4
mov eax, dword [eax]
mov dword [ecx], eax
xor ecx, ecx
test eax, eax
setne cl
mov edi, ebx
jmp dword [ecx*4 + 0x443b00]
mov ecx, dword [eax]
mov eax, dword [esi + 0x34]
mov dword [esi + 8], ecx
mov dword [eax], ecx
mov ebx, edx
sub ebx, edi
sar ebx, 3
cmp edx, dword [esi + 0xb4]
mov dword [esi + 0x24], ebx
jne 0x423dc9
mov dword [esi + 0xc], edx
lea eax, [ebx + 1]
mov ecx, ebx
shr ecx, 1
add ecx, ebx
cmp ecx, eax
ja 0x423d3d
mov ecx, eax
mov dword [esi + 0x40], ecx
lea eax, [ecx*8]
push eax
call fcn.00408de0
add esp, 4
mov dword [esi + 0x10], eax
test edi, edi
je 0x423db7
mov ecx, dword [esi + 0xc]
cmp edi, ecx
je 0x423da6
mov eax, edi
mov ecx, edi
not ecx
mov dword [esi + 4], ecx
xor ecx, ecx
mov edi, dword [esi + 0x10]
nop
nop
nop
nop
lea edx, [eax + ecx]
mov ebx, edx
xor ebx, eax
and edx, dword [esi + 4]
add edx, edx
sub edx, ebx
mov ebx, dword [eax + ecx]
mov dword [edi + edx], ebx
mov ebx, dword [eax + ecx + 4]
mov dword [edi + edx + 4], ebx
mov dword [eax + ecx], 0
lea edx, [eax + ecx]
add edx, 8
add ecx, 8
cmp edx, dword [esi + 0xc]
jne 0x423d70
mov ecx, eax
mov ebx, dword [esi + 0x24]
push ecx
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov edi, dword [esi + 0x10]
lea edx, [edi + ebx*8]
mov eax, dword [esi + 0x40]
lea eax, [edi + eax*8]
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc], edx
mov dword [edi + ebx*8], 0
mov dword [esi + 0x10], edi
mov dword [edi + ebx*8 + 4], 0
xor ecx, ecx
mov edi, 2
xor ebx, ebx
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
mov eax, edi
add ebx, 2
cmp byte [edx + ecx], 0
lea ecx, [ecx + 1]
lea edi, [edi + 2]
jne 0x423df0
mov dword [esi + 0x40], eax
push ecx
mov edi, edx
mov dword [esi + 8], edx
mov dword [esi + 4], ecx
call fcn.00408de0
add esp, 4
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x10]
mov dword [edx + ecx*8], eax
mov ecx, dword [esi + 4]
shr ecx, 2
mov edx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 4]
and edx, 0xfffffffc
add eax, edx
add edx, dword [esi + 8]
mov ecx, dword [esi + 4]
shr ecx, 1
and ecx, 1
mov edi, edx
mov dword [esi + 0xe4], edx
mov dword [esi + 0xe0], eax
mov edi, eax
mov eax, dword [esi + 0xe4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 4]
test cl, 1
je 0x423e7a
mov ecx, dword [esi + 4]
and ecx, 2
movzx edx, byte [edx + ecx]
mov eax, dword [esi + 0xe0]
mov byte [eax + ecx], dl
mov ecx, dword [esi + 4]
xor ecx, 0xfffffffe
mov eax, ecx
lea edi, [ecx + 1]
and ebx, 0xfffffffc
mov ecx, edi
add ecx, ebx
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x40]
je 0x423e9f
and edi, 1
add ebx, eax
jne 0x423ea9
mov ecx, 0xffffffff
jmp 0x423ef4
xor ecx, ecx
mov edi, dword [esi + 0x24]
jmp 0x423ce2
mov dword [esi + 4], edi
sub eax, edi
and ecx, 0xfffffffc
lea edx, [eax + ecx]
inc edx
mov ecx, 0xffffffff
mov eax, dword [esi + 8]
nop
nop
nop
mov ebx, ecx
shr ebx, 8
xor cl, byte [eax]
movzx ecx, cl
xor ebx, dword [ecx*4 + 0x43e7d0]
mov ecx, ebx
shr ecx, 8
xor bl, byte [eax + 1]
add eax, 2
movzx edi, bl
xor ecx, dword [edi*4 + 0x43e7d0]
add edx, 0xfffffffe
jne 0x423ec0
mov dword [esi + 8], eax
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 4]
test edi, edi
mov edi, dword [esi + 0x24]
je 0x423ce0
mov eax, ecx
shr eax, 8
mov ebx, dword [esi + 8]
xor cl, byte [ebx]
movzx ecx, cl
xor eax, dword [ecx*4 + 0x43e7d0]
mov ecx, eax
jmp 0x423ce0
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
sete al
mov edi, dword [esi + 0x20]
jmp dword [eax*4 + 0x443b20]
mov eax, dword [edi]
mov dword [esi + 0x58], 0x7c7d7e7f
mov dword [esi + 0x60], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0xb
ja 0x423f97
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x58]
mov edi, ecx
and edi, 0x8b8edd0
xor ecx, 0x8b8edd0
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esi], ecx
mov ecx, dword [esi]
add cl, 0x50
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x58], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0xc
jb 0x423f60
mov ecx, dword [0x447858]
test ecx, ecx
je case.default.0x4242a4
mov edx, dword [esi + 0x58]
xor edi, edi
mov ebx, dword [0x44785c]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x423fc0
inc edi
cmp ecx, edi
jne 0x423fb0
jmp case.default.0x4242a4
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x424280
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
jmp dword [ecx*4 + 0x443b28]
xor eax, eax
cmp ebx, edi
sete al
mov ecx, edi
jmp dword [eax*4 + 0x443b30]
mov dword [esi + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x10], ebx
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408de0
add esp, 4
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [esi + 0x38]
mov byte [eax], 0
mov ebx, dword [esi + 0x1c]
mov dword [ebx], 0x4b8845ad
mov dword [ebx + 4], 0x4fed49db
mov dword [ebx + 8], 0x33e04de9
mov dword [ebx + 0xc], 0x37a031f5
mov dword [ebx + 0x10], 0x3bf035a6
mov dword [ebx + 0x14], 0x3fac399d
mov dword [ebx + 0x18], 0x23d73d99
mov dword [ebx + 0x1c], 0x2795219e
mov dword [ebx + 0x20], 0x2b8f25b2
mov dword [ebx + 0x24], 0x2fbb298d
mov dword [ebx + 0x28], 0x13802d92
mov dword [ebx + 0x2c], 0x17b51183
mov dword [ebx + 0x30], 0x1bb815b1
mov dword [ebx + 0x34], 0x1f8219c8
mov dword [ebx + 0x38], 0x3b61dba
lea eax, [ebx + 0x3c]
mov dword [ebx + 0x3c], 0x102
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x3f
ja 0x4240ee
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [ebx + edx]
lea edi, [ecx - 0x62dae0cb]
lea ebx, [ecx + 0x35]
xor ebx, edi
and edi, edx
and ebx, edx
add ecx, edx
add ecx, 0x9d251f35
lea edx, [ebx + edi*2]
mov ebx, dword [esi + 0x1c]
sub ecx, edx
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x58]
add cl, 0x8d
mov edx, dword [esi]
mov byte [ebx + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x40
jb 0x4240b0
mov ecx, 0xf
mov edx, dword [esi + 0xd4]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, edx
add edi, 0x3c
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0xd0]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x447854]
mov ebx, dword [edi]
test ebx, ebx
jns 0x424133
mov eax, 0xffffffff
jmp 0x424136
lea eax, [ebx + ebx]
push eax
call fcn.00408de0
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x28]
mov dword [eax], edi
push dword [esi + 0xd0]
push ebx
push edi
push 0x1e
push dword [esi + 0xd4]
push 0
call dword [0x447854]
push 0x60
push 3
push 0x120089
mov ebx, dword [esi + 0x54]
push ebx
push edi
call fcn.0043b530
mov ecx, dword [esi + 0x28]
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443b38]
push 0
push dword [esi + 0x50]
push dword [ebx]
call fcn.0043b8e0
add esp, 0xc
not eax
shr eax, 0x1f
mov edi, ebx
jmp dword [eax*4 + 0x443b40]
mov eax, dword [esi + 0x50]
mov ebx, dword [eax]
lea eax, [ebx + 1]
push eax
call fcn.00408de0
add esp, 4
mov ecx, edi
mov edi, eax
mov eax, dword [esi + 0x4c]
mov dword [eax], edi
push 0
push ebx
push edi
push dword [ecx]
call fcn.0043ba00
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443b48]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443c30]
push edi
call fcn.00408df0
add esp, 4
mov edi, dword [esi + 0x54]
mov eax, dword [edi]
mov dword [esi + 0x58], 0x7c7d7e7f
mov dword [esi + 0x60], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0xb
ja 0x424257
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x58]
mov edi, ecx
and edi, 0x8b8edd0
xor ecx, 0x8b8edd0
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esi], ecx
mov ecx, dword [esi]
add cl, 0x50
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x58], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0xc
jb 0x424220
mov ecx, dword [0x447858]
test ecx, ecx
je case.default.0x424ae6
mov edx, dword [esi + 0x58]
xor edi, edi
mov ebx, dword [0x44785c]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x4242ab
inc edi
cmp ecx, edi
jne 0x424270
jmp case.default.0x424ae6
push eax
push 1
push dword [0x447860]
push ecx
call fcn.00438dd0
add esp, 0x10
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
jmp dword [ecx*4 + 0x443b28]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x424ac8
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443c38]
push eax
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 0x38]
movzx ebx, byte [eax]
jmp dword [ebx*4 + 0x443c40]
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov byte [eax], 0
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx]
mov dword [esi + 4], ecx
sub eax, ecx
mov edx, dword [esi + 0xe8]
mov dword [edx], 0x77747549
mov dword [edx + 4], 0x736f6c75
mov dword [edx + 8], 0x767e7c79
mov dword [edx + 0xc], 0x7c7454bb
mov dword [edx + 0x10], 0x4fa56679
mov dword [edx + 0x14], 0x6d7b6463
mov dword [edx + 0x18], 0x6360af63
mov word [edx + 0x1c], 0x9966
mov dword [edx + 0x1e], 0
mov byte [edx + 0x22], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x22
ja 0x424390
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edi, dword [esi]
movzx edi, byte [edx + edi]
lea ebx, [ecx - 0x20c923f]
add ecx, 0xc1
and ecx, edi
or ebx, edi
sub ebx, ecx
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0x58]
mov edi, ecx
or edi, 0xb8
and ecx, 0xb8
add ecx, edi
inc cl
mov edi, dword [esi]
mov byte [edx + edi], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x23
jb 0x424350
mov ecx, dword [ebp + 8]
push eax
push dword [esi + 4]
push edx
call fcn.00409730
mov ebx, eax
mov eax, dword [esi + 0x38]
mov byte [eax], bl
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443c48]
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov byte [edi + eax], 0
push 0x20
call fcn.00408de0
add esp, 4
mov ebx, eax
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 eax, dword [esi + 0xc0]
mov dword [eax], ebx
mov ecx, ebx
push dword [esi + 4]
push edi
call fcn.00425eb0
movzx eax, al
jmp dword [eax*4 + 0x443b50]
mov dword [esi + 4], ebx
mov edx, dword [esi + 0x30]
mov dword [edx], 0x37203e53
mov dword [edx + 4], 0x3a282833
mov dword [edx + 8], 0x27334f67
mov dword [edx + 0xc], 0x406d3c2a
mov dword [edx + 0x10], 0x2e3b3020
mov dword [edx + 0x14], 0xd5d5566b
mov dword [edx + 0x18], 0xdfcdc8d6
mov dword [edx + 0x1c], 0xc7c1c0af
mov word [edx + 0x20], 0x6dc1
mov dword [edx + 0x22], 0
mov word [edx + 0x26], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x27
ja 0x4244c3
mov ebx, dword [esi + 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
lea ecx, [eax - 0x3de70816]
lea edx, [eax + 0xea]
mov edi, edx
and edi, ecx
xor edx, ecx
mov ecx, dword [esi]
movzx ecx, byte [ebx + ecx]
and edi, ecx
and edx, ecx
add eax, ecx
add eax, 0xc218f7ea
lea ecx, [edx + edi*2]
mov edx, dword [esi + 0x30]
sub eax, ecx
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x58]
add al, 0x9a
mov ecx, dword [esi]
mov byte [edx + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x28
jb 0x424480
mov ecx, dword [esi + 4]
push edx
call fcn.004260a0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b58]
add eax, 8
mov eax, dword [eax]
mov edx, dword [esi + 0x48]
mov dword [edx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b60]
jmp dword [0x443b68]
jmp dword [0x443b70]
jmp dword [0x443b70]
jmp dword [0x443c24]
mov eax, dword [esi + 0xc0]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443c28]
mov ecx, edi
call fcn.00426210
push edi
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 0x4c]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443c30]
add eax, 4
mov eax, dword [eax]
mov dword [edx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b60]
mov ebx, dword [eax]
xor edi, edi
cmp dword [eax + 0x18], 3
jne case.default.0x424578
mov edi, dword [eax + 0x10]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x443b78]
xor ecx, ecx
test edi, edi
setne cl
jmp dword [ecx*4 + 0x443b80]
mov dword [esi + 0x20], ebx
mov edx, edi
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne 0x4245a0
sub ecx, edx
inc ecx
shr ecx, 1
mov dword [esi + 0x30], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408de0
mov edx, edi
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xc4]
mov dword [eax], ecx
mov edi, dword [case.0x4244d3.14]
mov eax, dword [case.0x424650.50]
mov dword [esi + 0x18], eax
mov dword [esi + 0x34], ecx
mov dword [esi + 8], edi
jmp case.0x4244d3.12
mov ecx, dword [esi + 4]
mov byte [ecx], dl
inc ecx
mov edx, edi
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
jmp edi
movsx eax, byte [edx]
xor ebx, ebx
test eax, eax
setne bl
jmp dword [ebx*4 + 0x443b98]
mov dword [esi + 4], ecx
mov dword [esi + 0x1c], edx
lea edi, [edx + 1]
mov edx, eax
or edx, 0x20
lea ecx, [edx - 0x61]
cmp ecx, 5
ja case.default.0x424626
add edx, 0xffffffa9
movsx eax, byte [edi]
xor ebx, ebx
test eax, eax
setne bl
jmp dword [ebx*4 + 0x443ba0]
lea ecx, [eax - 0x30]
mov edx, 0xffffffff
cmp ecx, 9
ja case.default.0x424650
mov ecx, eax
or ecx, 0xffffffcf
and eax, 0xffffffcf
lea edx, [ecx + eax]
inc edx
movsx eax, byte [edi]
xor ebx, ebx
test eax, eax
setne bl
jmp dword [ebx*4 + 0x443ba0]
jmp dword [esi + 0x18]
shl dl, 4
mov ecx, eax
or ecx, 0x20
lea edi, [ecx - 0x61]
cmp edi, 5
ja 0x42466f
add ecx, 0xffffffa9
jmp 0x424688
lea edi, [eax - 0x30]
mov ecx, 0xffffffff
cmp edi, 9
ja 0x424688
mov edi, eax
or edi, 0xffffffcf
and eax, 0xffffffcf
lea ecx, [edi + eax]
inc ecx
mov edi, dword [esi + 0x1c]
add edi, 2
or dl, cl
jmp case.0x424650.50
or dl, al
jmp dword [0x443bb4]
shl dl, 4
movsx ebx, byte [edi]
inc edi
mov eax, ebx
or eax, 0x20
lea ecx, [eax - 0x61]
cmp ecx, 5
ja 0x4246d0
add eax, 0xffffffa9
or dl, al
jmp dword [0x443bb4]
lea ecx, [ebx - 0x30]
mov eax, 0xffffffff
cmp ecx, 9
ja 0x4246a0
mov eax, ebx
or eax, 0xffffffcf
and ebx, 0xffffffcf
add eax, ebx
inc eax
jmp 0x4246a0
mov byte [ecx], 0
mov ebx, dword [esi + 0x20]
inc ebx
movzx eax, byte [ebx - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x4246f0
cmp ecx, 0x20
je 0x4246f0
movzx ecx, al
cmp ecx, 0x2b
je 0x424716
cmp ecx, 0x2d
jne 0x4249f0
cmp al, 0x2b
sete byte [esi + 0x24]
movzx eax, byte [ebx]
cmp al, 0x30
jne 0x424733
movzx eax, byte [ebx + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea ebx, [ebx + ecx*2]
mov dword [esi + 0x1c], 0
mov dword [esi + 4], 0
xor eax, eax
jmp 0x424771
mov dword [esi + 8], 0
xor edi, edi
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov dword [esi + 0x18], 0x22
mov eax, dword [esi + 8]
add eax, ecx
adc edi, edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov dword [esi + 4], eax
mov eax, edi
mov edx, eax
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x18], eax
movsx eax, byte [ebx]
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x4247ae
mov dword [esi + 4], edx
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x424835
or al, 0x20
cmp al, 0x66
jg 0x424835
movsx ecx, al
add ecx, 0xffffffa9
mov edx, dword [esi + 4]
mov dword [esi + 8], ecx
inc ebx
mov ecx, ebx
mov ebx, edi
and ebx, edx
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x1c], 0x22
mov eax, 0xffffffff
cmp ebx, 0xffffffff
mov ebx, ecx
je 0x424771
test edx, 0xf0000000
je 0x424800
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x1c], 0x22
cmp dword [esi + 8], 0
jne 0x424771
jmp 0x424745
mov ecx, edi
shld edx, edi, 4
shl ecx, 4
mov eax, dword [esi + 8]
mov edi, eax
sar edi, 0x1f
add eax, ecx
mov eax, edi
adc eax, edx
mov dword [esi + 4], 0xffffffff
mov eax, 0xffffffff
mov dword [esi + 0x1c], 0x22
jb 0x424771
jmp 0x42475f
mov dword [esi + 0x20], 0
mov eax, edi
neg eax
mov ecx, 0
sbb ecx, dword [esi + 4]
cmp byte [esi + 0x24], 0
jne 0x424853
mov edi, eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edi
mov ebx, dword [case.0x424650.57]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
jmp case.0x424650.54
mov eax, dword [ecx]
mov dword [esi + 0x20], eax
xor eax, eax
mov edx, edi
jmp dword [eax*4 + 0x443bd8]
add ecx, 8
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ebx
xor eax, eax
cmp ecx, edx
setne al
jmp dword [eax*4 + 0x443bc8]
mov edi, edx
cmp dword [esi + 0x18], 0x22
setne byte [esi + 0x1c]
mov eax, dword [ecx + 4]
mov edx, eax
shr edx, 0x1c
xor edx, dword [esi + 4]
shl eax, 4
or eax, 1
xor eax, dword [esi + 8]
or eax, edx
sete al
and al, byte [esi + 0x1c]
movzx eax, al
jmp dword [eax*4 + 0x443bd0]
mov eax, 1
mov edx, edi
jmp dword [eax*4 + 0x443bd8]
xor eax, eax
mov edi, dword [esi + 0x20]
test edi, edi
setne al
mov dword [esi + 0xc], edx
jmp dword [eax*4 + 0x443be0]
xor eax, eax
mov ecx, dword [esi + 0x34]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x443c10]
mov edx, dword [esi + 0x48]
mov eax, dword [edx]
add eax, 4
mov eax, dword [eax]
mov dword [edx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b60]
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov ecx, dword [esi + 0x34]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x424986
mov ecx, dword [esi + 0xb8]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov ebx, dword [esi + 0x44]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x79955919
push dword [0x447864]
call fcn.0043a6c0
add esp, 8
push ebx
push 1
push 0
push 0
push dword [esi + 0xb8]
push 0
push dword [esi + 0xbc]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443be8]
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
movzx eax, byte [edi]
test al, al
je 0x4249ab
inc edi
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4249a0
mov byte [ecx], 0x3a
lea eax, [ecx + 2]
mov edx, dword [esi + 0x2c]
mov dword [edx], eax
mov byte [ecx + 1], 0x20
mov ecx, dword [esi + 0x44]
mov edx, dword [ecx]
test edx, edx
je 0x424a02
mov ecx, dword [ecx + 4]
mov edi, edx
and edi, 3
je 0x424a06
mov dword [esi + 4], edx
xor ebx, ebx
movzx edx, byte [ecx]
cmp dl, 1
mov byte [eax + ebx], dl
sbb ecx, 0xffffffff
inc ebx
cmp edi, ebx
jne 0x4249d2
add eax, ebx
mov edi, dword [esi + 4]
mov edx, edi
sub edx, ebx
mov ebx, eax
jmp 0x424a08
dec ebx
mov byte [esi + 0x24], 1
cmp al, 0x30
je 0x424723
jmp 0x424733
mov ebx, eax
jmp 0x424a46
mov edi, edx
cmp edi, 4
jb 0x424a46
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 ebx, [eax + 4]
mov eax, ebx
add edx, 0xfffffffc
jne 0x424a0d
lea eax, [ebx + 1]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov byte [ebx], 0xa
mov eax, dword [esi + 0x38]
mov byte [eax], 1
push 0xe9520bac
push dword [0x44784c]
call fcn.0043a6c0
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x44]
mov ebx, dword [eax + 4]
jmp dword [0x443bf4]
push ecx
call fcn.00408df0
add esp, 4
mov edx, dword [esi + 0x48]
mov eax, dword [edx]
add eax, 4
mov eax, dword [eax]
mov dword [edx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b60]
jmp dword [0x443c08]
mov eax, dword [esi + 0xc4]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x443c10]
push ebx
call edi
push ebx
call edi
jmp dword [0x443bf8]
push eax
push 1
push dword [0x447860]
push ecx
call fcn.00438dd0
add esp, 0x10
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443c38]
mov eax, dword [esi + 0x38]
movzx ebx, byte [eax]
jmp dword [ebx*4 + 0x443c40]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443c48]
push eax
call fcn.00408df0
add esp, 4
mov eax, dword [case.0x4243b0.1]
nop
nop
nop
nop
nop
jmp eax
test bl, bl
setne al
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
test edi, edi
je 0x424b6a
cmp edi, ecx
je 0x424b6a
mov dword [esi + 4], eax
mov dword [esi + 0x10], edi
jmp 0x424b44
cmp edi, ecx
je 0x424b5c
mov eax, dword [edi]
add edi, 8
test eax, eax
je 0x424b40
push eax
mov ebx, ecx
call fcn.00408df0
mov ecx, ebx
add esp, 4
jmp 0x424b40
push dword [esi + 0x10]
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x4c]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443c30]
jmp dword [0x443d70]
jmp dword [0x443d78]
push dword [esp + 0x74]
call fcn.00408df0
add esp, 4
mov eax, dword [esp + 0x7c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
inc ecx
xor eax, eax
cmp ecx, 3
setne al
jmp dword [eax*4 + 0x443c60]
mov dword [esp + 0x84], ecx
mov eax, dword [esp + ecx*4 + 0x114]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x425010
mov dword [esp + 0x68], eax
mov eax, esi
sar eax, 1
mov dword [esp + 0xb4], eax
mov dword [esp + 0x10], 0xb5e0da8
mov dword [esp + 0x14], 0x17b909bb
mov dword [esp + 0x18], 0x13a615b5
mov dword [esp + 0x1c], 0x1f411170
mov dword [esp + 0x20], 0x1bbb1da0
mov dword [esp + 0x24], 0x67cb19a4
mov word [esp + 0x28], 0x6564
lea eax, [esp + 0x28]
mov dword [eax + 5], 0
mov dword [eax + 2], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0x20
ja 0x4250d2
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 + 0x2a]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xa0b27c2a
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0xda
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x50]
mov eax, dword [esp + 0x50]
cmp eax, 0x21
jb 0x425090
lea edi, [esp + 0xf8]
lea eax, [esp + 0x10]
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 + 0x88]
mov edx, dword [esp + 0xb4]
lea ecx, [edx + eax]
add edx, eax
add edx, 0xd
lea eax, [ecx + ecx]
add eax, 0x1a
test edx, edx
jns 0x425120
mov eax, 0xffffffff
push eax
call fcn.00408de0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x425161
mov edx, dword [esp + 0xb0]
mov eax, edi
nop
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 0x425150
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x68]
movzx ecx, word [edx]
test cx, cx
je 0x425191
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 0x425180
mov word [eax], 0
movzx ecx, word [esp + 0xf8]
test cx, cx
je 0x4251c1
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 0x4251b0
mov word [eax], 0
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x104], edi
push edi
call fcn.0043b530
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x443c68]
mov edi, dword [esp + 0xf4]
jmp dword [0x443cf8]
jmp dword [0x443d00]
push edi
call fcn.00408df0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00408df0
add esp, 4
jmp dword [0x443d0c]
movzx eax, byte [esp + 0xc]
jmp dword [eax*4 + 0x443d10]
mov ecx, dword [esp + 0x84]
inc ecx
xor eax, eax
cmp ecx, 3
setne al
jmp dword [eax*4 + 0x443c60]
lea eax, [esp + 0xb8]
push 0
push eax
push dword [esp + 0x80]
call fcn.0043b8e0
add esp, 0xc
mov ecx, dword [case.0x4243b0.12]
nop
jmp ecx
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x443c80]
mov edi, dword [esp + 0xb8]
lea eax, [edi + 1]
push eax
call fcn.00408de0
add esp, 4
mov ebx, eax
push 0
push edi
push eax
push dword [esp + 0x84]
call fcn.0043ba00
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x443c88]
mov eax, dword [esp + 0xb8]
mov byte [ebx + eax], 0
push ebx
call fcn.00401ee0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443c90]
xor ecx, ecx
mov eax, dword [case.0x4243b0.16]
jmp case.0x4243b0.34
mov dword [esp + 0x10], 0x1bce19bc
mov dword [esp + 0x14], 0xe745e553
mov dword [esp + 0x18], 0xe356e141
mov dword [esp + 0x1c], 0xef3ded0c
mov dword [esp + 0x20], 0xeb5de954
mov dword [esp + 0x24], 0xf757f546
mov dword [esp + 0x28], 0xf35ff15f
mov dword [esp + 0x2c], 0xff4afd58
mov dword [esp + 0x30], 0xfb44f955
mov dword [esp + 0x34], 0xc772c569
mov dword [esp + 0x38], 0xc360c16c
mov word [esp + 0x3c], 0xcdcc
lea eax, [esp + 0x28]
mov dword [eax + 0x19], 0
mov dword [eax + 0x16], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x34
ja 0x4253d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0x85c1e97c
add eax, 0x85c1e97c
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x50]
add al, 0x9c
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x35
jb 0x425390
lea edi, [esp + 0xbc]
lea eax, [esp + 0x10]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xe8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xb4]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x42541e
mov eax, 0xffffffff
push eax
call fcn.00408de0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x425451
mov edx, dword [esp + 0xb0]
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425440
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x68]
movzx ecx, word [edx]
test cx, cx
je 0x425481
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 0x425470
mov word [eax], 0
movzx ecx, word [esp + 0xbc]
test cx, cx
je 0x4254b1
lea edx, [esp + 0xbe]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4254a0
mov word [eax], 0
mov dword [esp + 0x10], 0x33a03567
mov dword [esp + 0x14], 0x2fba31a9
mov dword [esp + 0x18], 0x2bb82db5
mov dword [esp + 0x1c], 0x27b629b6
mov word [esp + 0x20], 0x2526
mov dword [esp + 0x26], 0
mov dword [esp + 0x22], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x19
ja 0x425540
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0x94cc9509
add eax, 0x94cc9509
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
add al, 0xc1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1a
jb 0x425500
lea edi, [esp + 0x50]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0x60]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x12]
cmp esi, 0xffffffed
jge 0x425570
mov eax, 0xffffffff
push eax
call fcn.00408de0
add esp, 4
mov edi, eax
mov edx, dword [esp + 0x68]
movzx ecx, word [edx]
test cx, cx
je 0x4255a1
add edx, 2
mov eax, edi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425590
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x4255d1
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 0x4255c0
mov word [eax], 0
mov dword [esp + 0x10], 0xebd4d5e8
lea eax, [esp + 0x28]
mov word [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 9
ja 0x42564a
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0x13f5345d
add eax, 0x13f5345d
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 [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x75
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xa
jb 0x425600
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x20]
push eax
push ebx
push edi
push dword [ebp + 8]
call fcn.0041bc50
add esp, 0x20
mov ecx, dword [esp + 0x7c]
and cl, 1
or cl, al
mov dword [esp + 0x7c], ecx
jmp dword [0x443d18]
jmp dword [0x443d20]
push edi
call fcn.00408df0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00408df0
add esp, 4
jmp dword [0x443d2c]
mov eax, dword [case.0x424ae6.65]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x424ae6.68]
mov ecx, dword [esp + 0x84]
nop
nop
jmp eax
jmp dword [0x443d50]
push ebx
call fcn.00408df0
mov ecx, dword [esp + 0x88]
add esp, 4
mov eax, dword [case.0x424ae6.71]
nop
nop
nop
jmp eax
mov dword [esp + 0xac], ebx
mov dword [esp + 0xf0], eax
push eax
call fcn.00402890
add esp, 4
mov dword [esp + 0x10], 0x54511a1f
mov dword [esp + 0x14], 0x63666866
mov dword [esp + 0x18], 0x5c6850a6
mov dword [esp + 0x1c], 0x6b6e606e
mov dword [esp + 0x20], 0x4c415959
mov word [esp + 0x24], 0x7845
mov byte [esp + 0x26], 0xe6
lea ecx, [esp + 0x28]
mov byte [ecx + 7], 0
mov dword [ecx + 3], 0
mov dword [ecx - 1], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x1f
ja 0x4257ad
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 edi, [ecx + 0xbe]
mov ebx, edx
not ebx
or ebx, edi
and edi, edx
add edi, ebx
neg edi
add ecx, edi
add ecx, 0x46fd61bd
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
add cl, 0xce
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0x20
jb 0x425760
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00402930
add esp, 8
mov edx, 0xffffffff
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add edi, 2
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x4257d0
mov ecx, edx
and ecx, 0xfffffffc
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x64]
and edx, 3
mov ebx, dword [esp + 0x64]
or ebx, 3
imul ebx, edx
xor edx, 3
imul edx, ecx
add ebx, edx
mov edx, dword [esp + 0x64]
shr ebx, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x425817
cmp ecx, 0x2e
jne 0x425818
dec ebx
cmp byte [eax + edx - 2], 0x3d
mov dword [esp + 0x80], eax
mov dword [esp + 0xa8], esi
je 0x42583e
mov ecx, edx
xor ecx, 0xfffffffd
and edi, 0xfffffffa
add edi, ecx
cmp byte [eax + edi + 1], 0x2e
jne 0x42583f
dec ebx
mov dword [esp + 0xec], ebx
lea eax, [ebx + 1]
push eax
call fcn.00408de0
add esp, 4
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x64], 0
je 0x42596b
xor esi, esi
mov edi, 2
jmp 0x425882
mov ecx, dword [esp + 0x70]
nop
nop
lea eax, [edi + 4]
add edi, 2
mov esi, ecx
cmp edi, edx
mov edi, eax
jae 0x42596b
mov ebx, dword [esp + 0x80]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00419140
add esp, 4
mov byte [esp + 0xc], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00419140
mov edx, dword [esp + 0x68]
add esp, 4
movzx ecx, byte [esp + 0xc]
shl cl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, cl
mov ecx, dword [esp + 0x6c]
mov byte [ecx + esi], ah
lea ecx, [esi + 1]
cmp edi, edx
jae 0x425870
mov byte [esp + 0x70], al
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + edi]
push eax
mov ebx, ecx
call fcn.00419140
mov ecx, ebx
mov edx, dword [esp + 0x68]
add esp, 4
cmp al, 0x40
je 0x425870
movzx ecx, byte [esp + 0x70]
shl cl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, cl
mov ebx, dword [esp + 0xc]
lea ecx, [ebx + 2]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x6c]
mov byte [ecx + ebx + 1], ah
mov ebx, eax
lea eax, [edi + 1]
cmp eax, edx
jae 0x42586a
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00419140
mov edx, dword [esp + 0x68]
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0x70]
je 0x425870
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xc]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov ecx, ebx
jmp 0x425870
mov eax, dword [esp + 0xec]
add eax, 0xfffffffb
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x6c]
add eax, 5
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
push 0x79955919
push dword [0x447864]
call fcn.0043a6c0
add esp, 8
lea ecx, [esp + 0x48]
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 + 0x443c98]
mov dword [esp + 0xc], 0
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp dword [0x443cc8]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp dword [0x443ca0]
jmp dword [0x443ce0]
mov dword [esp + 0xc], ecx
push ebx
call fcn.00408df0
add esp, 4
jmp dword [0x443cec]
mov dword [esp + 0xc], ecx
jmp dword [0x443cec]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], 0x7c7d7e7f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0xb
ja 0x425aa6
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]
mov edi, ecx
and edi, 0x8b8edd0
xor ecx, 0x8b8edd0
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
add cl, 0x50
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0xc
jb 0x425a60
mov ecx, dword [0x447858]
test ecx, ecx
je case.0x424ae6.45
mov edx, dword [esp + 0x10]
xor edi, edi
mov ebx, dword [0x44785c]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xad91fd63
je 0x425ad0
inc edi
cmp ecx, edi
jne 0x425ac0
jmp case.0x424ae6.45
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x424ae6.45
push eax
push 1
push dword [0x447860]
push ecx
call fcn.00438dd0
add esp, 0x10
jmp case.0x424ae6.45
jmp dword [0x443cf0]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], 0x7c7d7e7f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0xb
ja 0x425b76
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]
mov edi, ecx
and edi, 0x8b8edd0
xor ecx, 0x8b8edd0
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
add cl, 0x50
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0xc
jb 0x425b30
mov ecx, dword [0x447858]
test ecx, ecx
je 0x425af0
mov edx, dword [esp + 0x10]
xor edi, edi
mov ebx, dword [0x44785c]
cmp dword [ebx + edi*8], 0xad91fd63
je 0x425bb0
inc edi
cmp ecx, edi
jne 0x425b90
jmp 0x425af0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x425af0
push eax
push 1
push dword [0x447860]
push ecx
call fcn.00438dd0
add esp, 0x10
jmp 0x425af0
mov dword [esp + 0xc], eax
jmp dword [0x443cb0]
push edi
call fcn.00408df0
add esp, 4
mov eax, dword [case.0x4243b0.27]
nop
nop
nop
nop
nop
jmp eax
push 0xe9520bac
push dword [0x44784c]
call fcn.0043a6c0
add esp, 8
push dword [esp + 0x4c]
call eax
jmp dword [0x443cc8]
push dword [esp + 0x6c]
call fcn.00408df0
add esp, 4
push dword [esp + 0xf0]
call fcn.00402af0
add esp, 4
mov eax, dword [case.0x4243b0.16]
mov ecx, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x10], 0xeb3095e7
mov dword [esp + 0x14], 0xef9ae95a
mov dword [esp + 0x18], 0xe364ed5a
mov dword [esp + 0x1c], 0xe7e0e156
mov word [esp + 0x20], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x11
ja 0x425cbc
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 + 0x3d]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x5ef46a3d
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x55
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x12
jb 0x425c80
lea edi, [esp + 0xbc]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0xcc]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x10]
cmp esi, 0xffffffef
jge 0x425cef
mov eax, 0xffffffff
push eax
call fcn.00408de0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x68]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x425d31
mov eax, dword [esp + 0x68]
lea edx, [eax + 2]
mov eax, edi
nop
nop
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 0x425d20
mov word [eax], 0
movzx ecx, word [esp + 0xbc]
test cx, cx
je 0x425d61
lea edx, [esp + 0xbe]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425d50
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x48]
push dword [esp + 0x50]
push edi
call fcn.00409580
jmp dword [0x443ca8]
mov dword [esp + 0x10], 0xeb3095e7
mov dword [esp + 0x14], 0xef9ae95a
mov dword [esp + 0x18], 0xe364ed5a
mov dword [esp + 0x1c], 0xe7e0e156
mov word [esp + 0x20], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x11
ja 0x425dfc
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 + 0x3d]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x5ef46a3d
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x55
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x12
jb 0x425dc0
lea edi, [esp + 0xbc]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0xcc]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x10]
cmp esi, 0xffffffef
jge 0x425e2f
mov eax, 0xffffffff
push eax
call fcn.00408de0
add esp, 4
mov ecx, dword [esp + 0x68]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x425e61
mov ecx, dword [esp + 0x68]
lea edi, [ecx + 2]
mov ecx, eax
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x425e50
mov word [ecx], 0
movzx edx, word [esp + 0xbc]
test dx, dx
je 0x425e91
lea edi, [esp + 0xbe]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x425e80
mov word [ecx], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x48]
push dword [esp + 0x50]
push eax
call fcn.00409580
jmp case.0x4243b0.22
mov dword [esi + 0x78], ebx
jmp dword [0x4443a8]
movzx ecx, word [ebx]
test cx, cx
mov dword [esi + 0xc], edi
je 0x42706e
lea eax, [ebx + 2]
xor edx, edx
jmp 0x426f56
mov ecx, edx
and ecx, 1
xor edx, 1
lea edx, [edx + ecx*2]
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x426f75
cmp cx, 0x7f
jbe 0x426f40
movzx ecx, cx
cmp ecx, 0x7ff
ja 0x426f70
add edx, 2
jmp 0x426f4b
add edx, 3
jmp 0x426f4b
lea eax, [edx + 4]
and eax, 0xfffffffc
call fcn.00408db0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test edx, edx
jle 0x427076
lea ecx, [eax + edx]
mov dword [esi + 0x10], ecx
inc edx
add edx, eax
mov edi, eax
mov ecx, ebx
mov dword [esi + 0x18], edx
jmp 0x426fcb
mov byte [edi], cl
mov dword [esi + 4], 1
mov ecx, dword [esi + 8]
add ecx, 2
add edi, dword [esi + 4]
cmp edi, dword [esi + 0x10]
jae 0x427078
mov dword [esi + 8], ecx
movzx ecx, word [ecx]
test cx, cx
je 0x427078
cmp cx, 0x7f
jbe 0x426fb0
mov ebx, edi
not ebx
add ebx, edx
cmp ebx, 2
jb 0x427020
movzx edx, cx
cmp edx, 0x7ff
ja 0x427020
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 dword [esi + 4], 2
mov ebx, dword [esi + 0x78]
mov edx, dword [esi + 0x18]
jmp 0x426fb9
mov dword [esi + 4], 0
cmp ebx, 3
mov ebx, dword [esi + 0x78]
mov edx, dword [esi + 0x18]
jb 0x426fb9
movzx edx, cx
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
shr edx, 0xc
or dl, 0xe0
mov byte [edi], dl
mov edx, dword [esi + 0x18]
shr dword [esi + 4], 6
mov ebx, dword [esi + 4]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ebx, dword [esi + 0x78]
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov dword [esi + 4], 3
jmp 0x426fb9
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4270a0
inc eax
mov edi, dword [esi + 0xc]
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 0x427090
mov byte [edi], 0
jmp case.0x424ae6.83
mov edi, dword [esi + 0xc]
mov byte [edi], 0
jmp case.0x424ae6.83
mov edi, dword [esi + 0xc]
mov byte [edi], 0
jmp dword [0x4443b4]
movzx edx, word [ebx]
test dx, dx
mov dword [esi + 0xc], edi
je 0x427220
lea eax, [ebx + 2]
xor ecx, ecx
jmp 0x4270f6
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
movzx edx, word [eax]
add eax, 2
test dx, dx
je 0x427120
cmp dx, 0x7f
jbe 0x4270e0
movzx edx, dx
cmp edx, 0x7ff
ja 0x427110
add ecx, 2
jmp 0x4270eb
add ecx, 3
jmp 0x4270eb
mov eax, ecx
and eax, 1
mov edx, ecx
xor edx, 1
lea eax, [edx + eax*2]
add eax, 3
and eax, 0xfffffffc
call fcn.00408db0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x427228
lea edx, [eax + ecx]
mov dword [esi + 8], edx
add ecx, eax
inc ecx
mov dword [esi + 0x18], ecx
mov edi, eax
mov ecx, ebx
jmp 0x427175
mov byte [edi], bl
mov edx, 1
add ecx, 2
add edi, edx
cmp edi, dword [esi + 8]
jae 0x427210
movzx ebx, word [ecx]
test bx, bx
je 0x427210
cmp bx, 0x7f
jbe 0x427160
mov dword [esi + 0x10], ecx
mov edx, edi
not edx
add edx, dword [esi + 0x18]
movzx ecx, bx
mov dword [esi + 4], ecx
cmp edx, 2
jb 0x4271d0
cmp dword [esi + 4], 0x7ff
ja 0x4271d0
mov edx, ebx
shr edx, 6
add dl, 0xc0
mov byte [edi], dl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov edx, 2
mov ecx, dword [esi + 0x10]
jmp 0x427167
cmp edx, 3
mov edx, 0
mov ecx, dword [esi + 0x10]
jb 0x427167
mov edx, dword [esi + 4]
shr edx, 0xc
or dl, 0xe0
mov byte [edi], dl
mov edx, dword [esi + 4]
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov edx, 3
jmp 0x427167
mov ebx, dword [esi + 0x78]
jmp 0x42722a
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4270b0
inc eax
mov edi, dword [esi + 0xc]
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427240
mov byte [edi], 0
jmp dword [0x4443b4]
mov byte [edi], 0xa
inc edi
lea eax, [esi + 0x208]
push eax
call fcn.00429bf0
add esp, 4
movzx eax, al
mov dword [esi + 0xc], edi
jmp dword [eax*4 + 0x4443b8]
jmp case.0x424ae6.101
mov ecx, dword [esi + 0x208]
mov byte [esi + 0x82a], 0
test ecx, ecx
je 0x4272de
lea ebx, [esi + 0x82a]
cmp ecx, 0x64
jb 0x4272f0
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, ecx
sub edi, eax
movzx eax, word [edi + edi + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x4272a0
cmp edx, 9
ja 0x4272f7
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x427306
lea eax, [esi + 0x829]
mov dword [esi + 4], eax
mov byte [esi + 0x829], 0x30
jmp 0x427309
mov edx, ecx
cmp edx, 9
jbe 0x4272d1
movzx eax, word [edx + edx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov dword [esi + 4], ebx
mov ecx, dword [esi + 0x20c]
mov byte [esi + 0xea], 0
test ecx, ecx
je 0x42736e
lea ebx, [esi + 0xea]
cmp ecx, 0x64
jb 0x42737d
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, ecx
sub edi, eax
movzx eax, word [edi + edi + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x427330
cmp edx, 9
ja 0x427384
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x427393
lea ebx, [esi + 0xe9]
mov byte [esi + 0xe9], 0x30
jmp 0x427393
mov edx, ecx
cmp edx, 9
jbe 0x427361
movzx eax, word [edx + edx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov ecx, dword [esi + 0x210]
mov byte [esi + 0x57e], 0
test ecx, ecx
mov dword [esi + 8], ebx
je 0x4273fe
lea ebx, [esi + 0x57e]
cmp ecx, 0x64
jb 0x42740d
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, ecx
sub edi, eax
movzx eax, word [edi + edi + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x4273c0
cmp edx, 9
ja 0x427414
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x427423
lea ebx, [esi + 0x57d]
mov byte [esi + 0x57d], 0x30
jmp 0x427423
mov edx, ecx
cmp edx, 9
jbe 0x4273f1
movzx eax, word [edx + edx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov eax, dword [esi + 0x218]
mov dword [esi + 0x620], 0xa5856bc
mov dword [esi + 0x624], 0x180a5d0f
mov dword [esi + 0x628], 0x320b342c
mov dword [esi + 0x62c], 0xa7447f0c
mov dword [esi + 0x630], 0
mov byte [esi + 0x634], 0
mov dword [esi + 0x7c], 0
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x14
ja 0x4274cb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x7c]
movzx edi, byte [esi + edx + 0x620]
lea edx, [ecx + edi]
add edx, 0x3937c747
add ecx, 0x3937c747
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 + 0x20], ecx
mov ecx, dword [esi + 0x20]
add cl, 0xf
mov edx, dword [esi + 0x7c]
mov byte [esi + edx + 0x620], cl
inc dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x15
jb 0x427480
movzx ecx, byte [esi + 0x620]
test cl, cl
je 0x4274ed
lea edx, [esi + 0x621]
mov edi, dword [esi + 0xc]
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4274e0
jmp 0x4274f0
mov edi, dword [esi + 0xc]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42750d
inc eax
mov edx, dword [esi + 8]
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427500
jmp 0x427510
mov edx, dword [esi + 8]
mov word [edi], 0x2820
add edi, 2
mov ecx, dword [esi + 4]
movzx eax, byte [ecx]
test al, al
je 0x42753b
inc ecx
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 0x427530
mov byte [edi], 0x2e
inc edi
movzx eax, byte [edx]
test al, al
je 0x42755b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x427550
mov byte [edi], 0x2e
inc edi
movzx eax, byte [ebx]
test al, al
je 0x42757b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x427570
mov byte [edi], 0x29
inc edi
lea eax, [esi + 0x1d0]
push eax
call fcn.0043b2e0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4443c0]
mov ebx, edi
jmp 0x4276c0
mov byte [edi], 0x20
xor eax, eax
cmp dword [esi + 0x1d0], 1
sete al
jmp dword [eax*4 + 0x4443c8]
mov dword [esi + 0x620], 0xa3ecef2e
mov dword [esi + 0x624], 0
mov dword [esi + 0x628], 0
mov byte [esi + 0x62c], 0
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0xc
ja 0x42769e
nop
nop
nop
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx ecx, byte [esi + ecx + 0x620]
lea edx, [eax + 0x42e7c23b]
add eax, 0x3b
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x20], edx
mov eax, dword [esi + 0x20]
add al, 0x63
mov ecx, dword [esi + 0x7c]
mov byte [esi + ecx + 0x620], al
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
cmp eax, 0xd
jb 0x4275f0
jmp 0x42769e
mov dword [esi + 0x620], 0xc3303278
mov dword [esi + 0x628], 0
mov dword [esi + 0x624], 0
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0xb
ja 0x42769e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx ecx, byte [esi + ecx + 0x620]
lea edx, [eax - 0x59dc6160]
and edx, ecx
add eax, ecx
add eax, 0xa6239ea0
add edx, edx
sub eax, edx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
add al, 0xa0
mov ecx, dword [esi + 0x7c]
mov byte [esi + ecx + 0x620], al
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
cmp eax, 0xc
jb 0x427660
lea eax, [esi + 0x620]
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x4276bb
inc eax
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4276b0
mov ebx, edi
mov byte [edi], 0
mov dword [esi + 0x620], 0xe7140620
mov dword [esi + 0x624], 0x3bcfccc3
mov dword [esi + 0x628], 0x473311ee
mov dword [esi + 0x62c], 0xc7e80f31
mov byte [esi + 0x630], 0
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0x10
ja 0x427753
nop
nop
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx edx, byte [esi + ecx + 0x620]
lea ecx, [eax - 0x5f8bce87]
mov edi, edx
not edi
or edi, ecx
and ecx, edx
add ecx, edi
neg ecx
add eax, ecx
add eax, 0xa0743178
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
mov ecx, eax
or ecx, 0xb0
and eax, 0xb0
add eax, ecx
inc al
mov ecx, dword [esi + 0x7c]
mov byte [esi + ecx + 0x620], al
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
cmp eax, 0x11
jb 0x427700
movzx eax, byte [esi + 0x620]
test al, al
je 0x42777d
lea ecx, [esi + 0x621]
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 0x427770
jmp 0x42777f
mov edi, ebx
mov byte [edi], 0
movzx eax, byte [esi + 0x21c]
test al, al
je 0x4277ab
lea ecx, [esi + 0x21d]
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 0x4277a0
mov byte [edi], 0
mov dword [esi + 0x620], 0x4792e082
mov dword [esi + 0x624], 0x97535c59
mov dword [esi + 0x628], 0x5e68664a
mov dword [esi + 0x62c], 0x4b4b99a6
mov word [esi + 0x630], 0xfdbb
mov dword [esi + 0x632], 0
mov dword [esi + 0x636], 0
mov dword [esi + 0x63a], 0
mov word [esi + 0x63e], 0
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0x1f
ja 0x427872
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx ecx, byte [esi + ecx + 0x620]
mov edx, eax
and edx, 0xc6fd61be
xor eax, 0x46fd61be
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x20], edx
mov eax, dword [esi + 0x20]
add al, 0xce
mov ecx, dword [esi + 0x7c]
mov byte [esi + ecx + 0x620], al
mov eax, dword [esi + 0x7c]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
cmp eax, 0x20
jb 0x427820
movzx eax, byte [esi + 0x620]
test al, al
je 0x42789b
lea ecx, [esi + 0x621]
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 0x427890
mov byte [edi], 0
movzx ecx, word [esi + 0x230]
xor eax, eax
test cx, cx
setns al
jmp dword [eax*4 + 0x4443d0]
jmp case.0x424ae6.94
mov byte [edi], 0x2b
inc edi
movzx ecx, word [esi + 0x230]
lea eax, [esi + 0x26]
test cx, cx
js 0x4278df
mov byte [esi + 0x26], 0
mov edx, ecx
jne 0x4278e7
lea eax, [esi + 0x25]
mov byte [esi + 0x25], 0x30
mov dl, 0x30
jmp 0x42797c
mov edx, ecx
neg edx
mov byte [esi + 0x26], 0
mov dword [esi + 4], ecx
mov dword [esi + 0xc], edi
cmp dx, 0x64
jb 0x427934
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, dx
mov edi, ecx
shr edi, 2
imul ebx, edi, 0x147b
shr ebx, 0x11
imul edi, ebx, 0x64
sub edx, edi
movzx edx, dx
movzx edx, word [edx + edx + 0x43e528]
mov word [eax - 2], dx
add eax, 0xfffffffe
mov edx, ebx
cmp ecx, 0x270f
ja 0x427900
jmp 0x427936
mov ebx, edx
movzx ecx, bx
cmp cx, 9
ja 0x42794c
movzx edx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x427965
movzx edx, byte [ecx + ecx + 0x43e529]
mov byte [eax - 1], dl
movzx edx, byte [ecx + ecx + 0x43e528]
mov byte [eax - 2], dl
add eax, 0xfffffffe
mov edi, dword [esi + 0xc]
cmp word [esi + 4], 0
js 0x427975
test dl, dl
jne 0x42797c
jmp 0x42798b
mov byte [eax - 1], 0x2d
dec eax
mov dl, 0x2d
inc eax
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x427980
mov dword [esi + 0xc], edi
mov byte [edi], 0
mov dword [esi + 0x620], 0xc23a2c02
mov dword [esi + 0x624], 0xf69ae6e2
mov dword [esi + 0x628], 0xcf32e5e4
mov dword [esi + 0x62c], 0xe5d3a1cd
mov word [esi + 0x630], 0x2908
mov dword [esi + 0x636], 0
mov dword [esi + 0x632], 0
mov dword [esi + 0x1d0], 0
mov eax, dword [esi + 0x1d0]
cmp eax, 0x19
ja 0x427a5a
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
movzx edx, byte [esi + ecx + 0x620]
lea edi, [eax + 0x7be49cd4]
mov ebx, 0x2b
sub ebx, eax
lea ecx, [eax + edx]
add ecx, 0x7be49cd4
add eax, 0xd4
and eax, ebx
and edi, edx
and eax, edx
lea eax, [eax + edi*2]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
add al, 0x34
mov ecx, dword [esi + 0x1d0]
mov byte [esi + ecx + 0x620], al
inc dword [esi + 0x1d0]
mov eax, dword [esi + 0x1d0]
cmp eax, 0x1a
jb 0x4279f0
movzx eax, byte [esi + 0x620]
test al, al
je 0x427a7d
lea ecx, [esi + 0x621]
mov edi, dword [esi + 0xc]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427a70
jmp 0x427a80
mov edi, dword [esi + 0xc]
mov byte [edi], 0
movzx eax, byte [esi + 0x232]
test al, al
je 0x427aab
lea ecx, [esi + 0x233]
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 0x427aa0
mov byte [edi], 0
jmp dword [0x4443d8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4443e0]
mov ebx, edi
mov eax, dword [esi + 0x218]
test eax, eax
je 0x427adb
push eax
call fcn.00408df0
add esp, 4
mov byte [esi + 0x564], 0
mov dword [esi + 0xd8], 0x10
push 0x5effdb5a
push dword [0x44784c]
call fcn.0043a6c0
add esp, 8
lea ecx, [esi + 0xd8]
lea edx, [esi + 0x564]
push ecx
push edx
call eax
mov dword [esi + 0x208], 0xaef4e688
mov dword [esi + 0x20c], 0x64585a5b
mov dword [esi + 0x210], 0xad5a565a
mov word [esi + 0x214], 0xe182
mov dword [esi + 0x216], 0
mov dword [esi + 0x219], 0
mov dword [esi + 0x820], 0
mov eax, dword [esi + 0x820]
cmp eax, 0x14
ja 0x427bcf
nop
mov edx, dword [esi + 0x820]
mov eax, dword [esi + 0x820]
movzx edi, byte [esi + eax + 0x208]
lea eax, [edx + 0x429b1c3d]
lea ecx, [edx + edi]
add ecx, 0x429b1c3d
add edx, 0x3d
and edx, edi
and eax, edi
add eax, edx
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0x620], eax
mov eax, dword [esi + 0x620]
mov ecx, eax
xor ecx, 0x54
and eax, 0x54
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 0x820]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x820]
mov eax, dword [esi + 0x820]
cmp eax, 0x15
jb 0x427b60
movzx eax, byte [esi + 0x208]
test al, al
je 0x427bfd
lea ecx, [esi + 0x209]
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427bf0
jmp 0x427bff
mov edx, ebx
mov byte [edx], 0
movzx eax, byte [esi + 0x564]
test al, al
je 0x427c2b
lea ecx, [esi + 0x565]
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 0x427c20
mov ebx, edx
mov byte [edx], 0
mov dword [esi + 0x820], 0
mov dword [esi + 0x824], 0
mov eax, dword [0x446540]
mov dword [esi + 0x208], 0x33963191
mov dword [esi + 0x20c], 0x379735a2
mov dword [esi + 0x210], 0x2bb329b8
mov dword [esi + 0x214], 0x2f7c2d7f
mov dword [esi + 0x218], 0x2386217e
mov dword [esi + 0x21c], 0x27ba25b8
mov word [esi + 0x220], 0x1918
mov dword [esi + 0x226], 0
mov dword [esi + 0x222], 0
mov dword [esi + 0xe0], 0
mov ecx, dword [esi + 0xe0]
cmp ecx, 0x21
ja 0x427d10
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xe0]
mov edx, dword [esi + 0xe0]
movzx edx, byte [esi + edx + 0x208]
lea edi, [ecx - 0x51f063f8]
add ecx, 8
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x620], edi
mov ecx, dword [esi + 0x620]
add cl, 0xc8
mov edx, dword [esi + 0xe0]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0xe0]
mov ecx, dword [esi + 0xe0]
cmp ecx, 0x22
jb 0x427cc0
push 0x800
push 0
lea edi, [esi + 0x208]
push edi
call eax
lea ecx, [esi + 0x820]
push eax
call fcn.00438670
movzx eax, al
jmp dword [eax*4 + 0x4443e8]
mov edi, ebx
jmp 0x427e7a
mov byte [esi + 0x208], 0
mov dword [esi + 0x20], 0x101
push 0x2e2335c
push dword [esi + 0x820]
call fcn.0043a6c0
add esp, 8
lea ecx, [esi + 0x20]
push ecx
push edi
call eax
mov dword [esi + 0x620], 0x86d2e0c2
mov dword [esi + 0x624], 0xa9609467
mov word [esi + 0x628], 0xf5d4
mov dword [esi + 0x62e], 0
mov dword [esi + 0x62a], 0
mov dword [esi + 0x574], 0
mov eax, dword [esi + 0x574]
cmp eax, 0x11
ja 0x427e16
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x574]
mov ecx, dword [esi + 0x574]
movzx ecx, byte [esi + ecx + 0x620]
lea edx, [eax + 0x21fc65e]
lea edi, [eax + 0x5e]
xor edi, edx
and edx, ecx
and edi, ecx
add eax, ecx
add eax, 0x21fc65e
lea ecx, [edi + edx*2]
sub eax, ecx
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xe0]
mov ecx, eax
xor ecx, 0x6d
and eax, 0x6d
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 0x574]
mov byte [esi + ecx + 0x620], al
inc dword [esi + 0x574]
mov eax, dword [esi + 0x574]
cmp eax, 0x12
jb 0x427db0
movzx eax, byte [esi + 0x620]
test al, al
je 0x427e3d
lea ecx, [esi + 0x621]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427e30
jmp 0x427e3f
mov edi, ebx
mov byte [edi], 0
movzx eax, byte [esi + 0x208]
test al, al
je 0x427e6b
lea ecx, [esi + 0x209]
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 0x427e60
mov byte [edi], 0
push dword [esi + 0x820]
call dword [0x446644]
push 0x2e946639
push dword [0x44784c]
call fcn.0043a6c0
add esp, 8
mov ebx, eax
mov byte [esi + 0x620], 0
mov dword [esi + 0xd4], 0x200
lea eax, [esi + 0xd4]
lea ecx, [esi + 0x620]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x208], 0x6f445628
mov dword [esi + 0x20c], 0x808f9a9b
mov dword [esi + 0x210], 0x334c539c
mov dword [esi + 0x214], 0
mov dword [esi + 0x218], 0
mov dword [esi + 0x21b], 0
mov dword [esi + 0xe0], 0
mov eax, dword [esi + 0xe0]
cmp eax, 0x16
ja 0x427f5f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe0]
movzx ecx, byte [esi + ecx + 0x208]
lea edx, [eax - 0x12775efb]
add eax, 5
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x820], edx
mov eax, dword [esi + 0x820]
add al, 0xdd
mov ecx, dword [esi + 0xe0]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0xe0]
mov eax, dword [esi + 0xe0]
cmp eax, 0x17
jb 0x427f10
movzx eax, byte [esi + 0x208]
test al, al
je 0x427f8d
lea ecx, [esi + 0x209]
lea edx, [esi + 0x820]
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 0x427f80
jmp 0x427f93
lea edx, [esi + 0x820]
mov byte [edi], 0
movzx eax, byte [esi + 0x620]
test al, al
je 0x427fbb
lea ecx, [esi + 0x621]
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 0x427fb0
mov byte [edi], 0
mov byte [esi + 0x820], 0
mov dword [esi + 0xd0], 0x200
lea eax, [esi + 0xd0]
push eax
push edx
push 5
call ebx
mov dword [esi + 0x208], 0xdbb0a69c
mov dword [esi + 0x20c], 0xe9e0e0e3
mov dword [esi + 0x210], 0xa1f7eefd
mov word [esi + 0x214], 0xa5ba
mov dword [esi + 0x216], 0
mov word [esi + 0x21a], 0
mov dword [esi + 0x574], 0
mov eax, dword [esi + 0x574]
cmp eax, 0x13
ja 0x42808d
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x574]
mov eax, dword [esi + 0x574]
movzx edx, byte [esi + eax + 0x208]
add ecx, 0x8822d613
mov eax, ecx
and eax, edx
xor ecx, edx
lea ecx, [ecx + eax*2]
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xe0]
add al, 0x7b
mov ecx, dword [esi + 0x574]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x574]
mov eax, dword [esi + 0x574]
cmp eax, 0x14
jb 0x428030
movzx eax, byte [esi + 0x208]
test al, al
je 0x4280ab
lea ecx, [esi + 0x209]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4280a0
mov byte [edi], 0
movzx eax, byte [esi + 0x820]
test al, al
je 0x4280cb
lea ecx, [esi + 0x821]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4280c0
mov byte [edi], 0
mov byte [esi + 0x554], 0
mov dword [esi + 0xcc], 0x10
lea eax, [esi + 0xcc]
lea ecx, [esi + 0x554]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x208], 0x2518067c
mov dword [esi + 0x20c], 0x243ec9dd
mov dword [esi + 0x210], 0x133a242f
mov byte [esi + 0x214], 0x72
mov dword [esi + 0x215], 0
mov word [esi + 0x219], 0
mov dword [esi + 0x574], 0
mov eax, dword [esi + 0x574]
cmp eax, 0x12
ja 0x428193
nop
nop
mov eax, dword [esi + 0x574]
mov ecx, dword [esi + 0x574]
movzx ecx, byte [esi + ecx + 0x208]
lea edx, [eax + 0xcf]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x6b57c6cf
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xe0]
add al, 0x57
mov ecx, dword [esi + 0x574]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x574]
mov eax, dword [esi + 0x574]
cmp eax, 0x13
jb 0x428140
movzx eax, byte [esi + 0x208]
test al, al
je 0x4281bb
lea ecx, [esi + 0x209]
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 0x4281b0
mov byte [edi], 0
movzx eax, byte [esi + 0x554]
test al, al
je 0x4281db
lea ecx, [esi + 0x555]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4281d0
mov byte [edi], 0
mov word [esi + 0x574], 0
push 0x69ba345e
push dword [0x44784c]
call fcn.0043a6c0
add esp, 8
lea ecx, [esi + 0x574]
push 0x56
mov ebx, ecx
push ecx
call eax
mov dword [esi + 0x208], 0xf222cca
mov dword [esi + 0x20c], 0x72616b65
mov dword [esi + 0x210], 0x316f6e69
mov word [esi + 0x214], 0xcd2c
mov dword [esi + 0x216], 0
mov dword [esi + 0x21a], 0
mov word [esi + 0x21e], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x17
ja 0x4282a2
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [esi + ecx + 0x208]
lea edx, [eax + 0x7d846a0]
add eax, 0xa0
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xe0], edx
mov eax, dword [esi + 0xe0]
add al, 0xa0
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, 0x18
jb 0x428260
movzx eax, byte [esi + 0x208]
test al, al
je 0x4282cd
lea ecx, [esi + 0x209]
mov edx, ebx
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 0x4282c0
jmp 0x4282cf
mov edx, ebx
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0x10], eax
xor ecx, ecx
mov dword [esi + 0xc], edi
jmp 0x4282f8
mov byte [ebx], dl
mov ecx, 1
mov edx, dword [esi + 8]
add edx, 2
add ecx, eax
cmp ecx, 0x55
jae 0x428391
lea ebx, [edi + ecx]
mov dword [esi + 8], edx
movzx edx, word [edx]
test dx, dx
je 0x428395
mov eax, ecx
cmp dx, 0x7f
jbe 0x4282e0
mov dword [esi + 4], ebx
mov edi, ebx
not edi
add edi, dword [esi + 0x10]
movzx ebx, dx
cmp ebx, 0x7ff
ja 0x428350
cmp edi, 2
jb 0x428350
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov edi, dword [esi + 4]
mov byte [edi], cl
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
mov ecx, 2
mov edi, dword [esi + 0xc]
jmp 0x4282e7
xor ecx, ecx
cmp edi, 3
mov edi, dword [esi + 0xc]
jb 0x4282e7
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov dword [esi + 0x18], ebx
mov ebx, dword [esi + 4]
mov byte [ebx], cl
mov ecx, dword [esi + 0x18]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov ebx, ecx
mov ecx, dword [esi + 4]
mov byte [ecx + 1], bl
and dl, 0x3f
or dl, 0x80
mov byte [ecx + 2], dl
mov ecx, 3
jmp 0x4282e7
add edi, ecx
mov ebx, edi
mov byte [ebx], 0
mov dword [esi + 0x208], 0xdafaec12
mov dword [esi + 0x20c], 0x74f5952
mov dword [esi + 0x210], 0x5e50483e
mov word [esi + 0x214], 0x175f
mov byte [esi + 0x216], 0xee
mov dword [esi + 0x217], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x12
ja 0x428427
nop
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx edx, byte [esi + ecx + 0x208]
lea ecx, [eax + 0x7c]
mov edi, edx
not edi
or edi, ecx
and ecx, edx
add ecx, edi
neg ecx
add eax, ecx
add eax, 0xdf4a8b7b
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xe0]
add al, 0x9c
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, 0x13
jb 0x4283e0
movzx eax, byte [esi + 0x208]
test al, al
je 0x42844d
lea ecx, [esi + 0x209]
lea edi, [esi + 0x208]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428440
jmp 0x428453
lea edi, [esi + 0x208]
mov byte [ebx], 0
call fcn.0042c610
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x10], eax
jmp dword [ecx*4 + 0x4443f0]
mov dword [esi + 0x208], 0x83f79a9c
mov dword [esi + 0x20c], 0x404a4cd4
mov byte [esi + 0x210], 0xde
mov dword [esi + 0x211], 0
mov dword [esi + 0x215], 0
mov dword [esi + 0x219], 0
mov byte [esi + 0x21d], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x15
ja case.0x424ae6.130
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [esi + ecx + 0x208]
lea edx, [eax - 0x47d1a845]
and edx, ecx
add eax, ecx
add eax, 0xb82e57bb
add edx, edx
sub eax, edx
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xe0]
add al, 0xe3
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, 0x16
jb 0x4284c0
movzx eax, byte [esi + 0x208]
test al, al
je 0x42852b
lea ecx, [esi + 0x209]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428520
mov byte [ebx], 0
jmp case.0x427d2f.21
mov dword [ebx], 0x202d090a
add ebx, 4
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
test dl, dl
je 0x42856b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x428560
mov byte [ebx], 0
xor ecx, ecx
cmp byte [eax + 4], 3
setb cl
jmp dword [ecx*4 + 0x4443f8]
mov byte [ebx], 0x20
inc ebx
movzx ecx, byte [eax + 4]
xor edx, edx
test cl, cl
sete dl
mov dword [esi + 4], ebx
jmp dword [edx*4 + 0x444400]
xor edx, edx
cmp cl, 1
sete dl
jmp dword [edx*4 + 0x444418]
mov dword [esi + 0x208], 0x8c8c929b
mov dword [esi + 0x20c], 0x83839f8b
mov word [esi + 0x210], 0xc995
mov dword [esi + 0x212], 0
mov dword [esi + 0x216], 0
mov word [esi + 0x21a], 0
mov dword [esi + 0x20], 0
mov ecx, dword [esi + 0x20]
cmp ecx, 0x13
ja 0x428703
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x20]
movzx edx, byte [esi + edx + 0x208]
lea ebx, [ecx + 0x60]
and ebx, edx
add ecx, edx
add ebx, ebx
sub ecx, ebx
add ecx, 0xfc9ce360
mov dword [esi + 0xe0], ecx
mov ecx, dword [esi + 0xe0]
mov edx, ecx
or edx, 0x5f
and ecx, 0x5f
add ecx, edx
inc cl
mov edx, dword [esi + 0x20]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
cmp ecx, 0x14
jb 0x428600
jmp 0x428703
mov dword [esi + 8], edi
jmp dword [0x444408]
mov dword [esi + 8], edi
mov dword [esi + 0x208], 0x9eecee9b
mov byte [esi + 0x20c], 0x34
mov word [esi + 0x20d], 0
mov byte [esi + 0x20f], 0
mov dword [esi + 0x20], 0
mov ecx, dword [esi + 0x20]
cmp ecx, 7
ja case.0x427d2f.10
nop
nop
nop
nop
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx edx, byte [esi + ecx + 0x208]
lea ecx, [edi + 0xd8]
and ecx, edx
mov ebx, 0xcf825927
sub ebx, edi
or ebx, edx
not ebx
add ebx, edx
sub ebx, ecx
mov dword [esi + 0xe0], ebx
mov ecx, dword [esi + 0xe0]
mov edx, ecx
or edx, 0x17
and ecx, 0x17
add ecx, edx
inc cl
mov edx, dword [esi + 0x20]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
cmp ecx, 8
jb 0x4286a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esi + 8]
mov ebx, dword [esi + 4]
movzx ecx, byte [edi]
test cl, cl
je 0x42871b
mov edx, edi
inc edx
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428710
mov byte [ebx], 0
mov eax, dword [eax]
mov ecx, dword [case.0x427d2f.17]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444430]
mov dword [esi + 0x208], 0x45444e5b
mov word [esi + 0x20c], 0x559
mov dword [esi + 0x20e], 0
mov dword [esi + 0x212], 0
mov byte [esi + 0x216], 0
mov dword [esi + 0x20], 0
mov ecx, dword [esi + 0x20]
cmp ecx, 0xe
ja case.0x427d2f.8
nop
nop
nop
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x20]
movzx edi, byte [esi + edx + 0x208]
lea ebx, [ecx - 0x182d1280]
lea edx, [ecx + edi]
add edx, 0xe7d2ed80
sub ecx, 0xffffff80
or ecx, ebx
and ebx, edi
and ecx, edi
add ecx, ebx
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0xe0], ecx
mov ecx, dword [esi + 0xe0]
mov edx, ecx
xor edx, 0x7f
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 0x20]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
cmp ecx, 0xf
jb 0x428780
mov dword [esi + 0x208], 0x45444e5b
mov word [esi + 0x20c], 0x559
mov dword [esi + 0x20e], 0
mov dword [esi + 0x212], 0
mov byte [esi + 0x216], 0
mov dword [esi + 0x20], 0
mov ecx, dword [esi + 0x20]
cmp ecx, 0xe
ja 0x42887f
nop
nop
nop
nop
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x20]
movzx edi, byte [esi + edx + 0x208]
lea ebx, [ecx - 0x182d1280]
lea edx, [ecx + edi]
add edx, 0xe7d2ed80
sub ecx, 0xffffff80
or ecx, ebx
and ebx, edi
and ecx, edi
add ecx, ebx
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0xe0], ecx
mov ecx, dword [esi + 0xe0]
mov edx, ecx
xor edx, 0x7f
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 0x20]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
cmp ecx, 0xf
jb 0x428820
jmp dword [0x444410]
xor eax, eax
mov edi, dword [esi + 0x10]
test edi, edi
sete al
jmp dword [eax*4 + 0x444438]
mov ecx, edi
call fcn.0042e2a0
push edi
call fcn.00408df0
add esp, 4
jmp case.0x427d2f.21
mov dword [esi + 0x208], 0x5bb0469c
mov dword [esi + 0x20c], 0x4550566b
mov word [esi + 0x210], 0x99be
mov dword [esi + 0x212], 0
mov dword [esi + 0x216], 0
mov dword [esi + 0x219], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x14
ja 0x428945
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx edx, byte [esi + ecx + 0x208]
lea ecx, [eax + edx]
add eax, 0xc3
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0xfbe69dc3
mov dword [esi + 0xe0], ecx
mov eax, dword [esi + 0xe0]
add al, 0xab
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, 0x15
jb 0x428900
movzx eax, byte [esi + 0x208]
test al, al
je 0x42896b
lea ecx, [esi + 0x209]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428960
mov byte [ebx], 0
lea eax, [esi + 0x1d0]
push eax
call fcn.004336a0
add esp, 4
movzx eax, byte [esi + 0x1d0]
test al, al
je 0x42899b
lea ecx, [esi + 0x1d1]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428990
mov dword [esi + 4], ebx
mov byte [ebx], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xb8], 0
push 0xabbada0d
push dword [0x44784c]
call fcn.0043a6c0
add esp, 8
lea ecx, [esi + 0xb8]
push ecx
call eax
mov eax, dword [esi + 0xb8]
mov ebx, dword [esi + 0xbc]
shld ebx, eax, 0x16
mov byte [esi + 0x1fb], 0
je 0x428a3e
lea edi, [esi + 0x1fb]
cmp ebx, 0x64
jb 0x428a4d
nop
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 + 0x43e528]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x428a00
cmp edx, 9
ja 0x428a54
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x428a63
lea edi, [esi + 0x1fa]
mov byte [esi + 0x1fa], 0x30
jmp 0x428a63
mov edx, ebx
cmp edx, 9
jbe 0x428a31
movzx eax, word [edx + edx + 0x43e528]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov word [esi + 0xe0], 0x1b2d
mov byte [esi + 0xe2], 0x5a
mov dword [esi + 0xe3], 0
mov byte [esi + 0xe7], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 7
ja 0x428ae2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [esi + ecx + 0xe0]
lea edx, [eax - 0x4695ba34]
add eax, 0xcc
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x208], edx
mov eax, dword [esi + 0x208]
add al, 0x6c
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0xe0], al
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, 8
jb 0x428aa0
mov dword [esi + 0x208], 0x91c0f6dc
mov dword [esi + 0x20c], 0xb2fcaae1
mov dword [esi + 0x210], 0xd1879385
mov word [esi + 0x214], 0x15fa
mov dword [esi + 0x216], 0
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0x11
ja 0x428b74
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx edx, byte [esi + ecx + 0x208]
lea ecx, [eax + 0x20f3515b]
mov ebx, edx
not ebx
or ebx, ecx
and ecx, edx
add ecx, ebx
neg ecx
add eax, ecx
add eax, 0x20f3515a
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
add al, 0x83
mov ecx, dword [esi + 0x7c]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
cmp eax, 0x12
jb 0x428b30
movzx eax, byte [esi + 0x208]
test al, al
je 0x428b9d
lea ecx, [esi + 0x209]
mov edx, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428b90
jmp 0x428ba0
mov edx, dword [esi + 4]
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x428bbb
inc edi
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x428bb0
mov byte [edx], 0
movzx eax, byte [esi + 0xe0]
test al, al
je 0x428bdb
lea ecx, [esi + 0xe1]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428bd0
xor eax, eax
xor ecx, ecx
mov edi, edx
cpuid
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x1c4], edx
mov byte [edi], 0
mov dword [esi + 0x1c8], ecx
mov byte [esi + 0x1cc], 0
mov dword [esi + 0x208], 0x222cca
mov dword [esi + 0x20c], 0x11261014
mov dword [esi + 0x210], 0x646e676d
mov dword [esi + 0x214], 0xcf2e377e
mov dword [esi + 0x218], 0
mov byte [esi + 0x21c], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x14
ja 0x428c95
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [esi + ecx + 0x208]
lea edx, [eax + ecx]
add edx, 0xc05ad3a0
add eax, 0xc05ad3a0
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xe0], edx
mov eax, dword [esi + 0xe0]
add al, 0xa0
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x20]
mov eax, dword [esi + 0x20]
cmp eax, 0x15
jb 0x428c50
movzx eax, byte [esi + 0x208]
test al, al
je 0x428cbb
lea ecx, [esi + 0x209]
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 0x428cb0
mov byte [edi], 0
movzx eax, byte [esi + 0x1c0]
test al, al
je 0x428cdb
lea ecx, [esi + 0x1c1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428cd0
mov dword [esi + 4], edi
mov byte [edi], 0
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
mov eax, VariantInit
xor ecx, ecx
cpuid
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], edx
mov eax, VariantInit
xor ecx, ecx
cpuid
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], edx
lea edx, [esi + 0xac]
lea eax, [esi + 0x7c]
lea ebx, [esi + 0x20]
mov ecx, 0xc
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x50]
xor ecx, ecx
mov edi, edx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
dec ecx
xor ebx, ebx
cmp byte [edx - 1], 0x20
sete bl
jmp dword [ebx*4 + 0x444440]
mov byte [ecx], 0
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x444440]
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x444448]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x444448]
mov dword [esi + 0x208], 0x46a785a
mov dword [esi + 0x20c], 0x5761418
mov dword [esi + 0x210], 0x153f2035
mov dword [esi + 0x214], 0x5170
mov byte [esi + 0x218], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x10
mov ebx, dword [esi + 4]
ja 0x428e3c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 0x208]
mov edi, ecx
and edi, 0xbed9bca
xor ecx, 0xbed9bca
lea ecx, [ecx + edi*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0xe0], edi
mov ecx, dword [esi + 0xe0]
add cl, 0x7a
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x11
jb 0x428df0
movzx ecx, byte [esi + 0x208]
test cl, cl
je 0x428e5b
lea edx, [esi + 0x209]
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428e50
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x428e7c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x428e70
mov byte [ebx], 0
mov dword [esi + 0xe0], 0x7c7d7e7f
mov dword [esi + 0xe8], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xac], 0
mov eax, dword [esi + 0xac]
cmp eax, 0xb
ja 0x428f0e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xac]
movzx ecx, byte [esi + ecx + 0xe0]
lea edx, [eax + ecx]
add edx, 0x8b8edd0
add eax, 0x8b8edd0
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x50], edx
mov eax, dword [esi + 0x50]
add al, 0x50
mov ecx, dword [esi + 0xac]
mov byte [esi + ecx + 0xe0], al
inc dword [esi + 0xac]
mov eax, dword [esi + 0xac]
cmp eax, 0xc
jb 0x428ec0
mov eax, dword [esi + 0xe0]
mov ecx, dword [0x447858]
test ecx, ecx
je case.default.0x428f6e
xor edx, edx
mov edi, dword [0x44785c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x8bca30fc
je 0x428f40
inc edx
cmp ecx, edx
jne 0x428f30
jmp case.default.0x428f6e
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x428f6e
lea eax, [esi + 0x208]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x447860]
push ecx
call fcn.00438dd0
add esp, 0x1c
not eax
shr eax, 0x1f
mov dword [esi + 4], ebx
jmp dword [eax*4 + 0x444450]
mov dword [esi + 0x10], 0
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x444458]
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
movzx ecx, byte [esi + 0x230]
mov dword [esi + 0x10], ecx
sete al
jmp dword [eax*4 + 0x444458]
mov eax, 0xb
mov ecx, 1
cpuid
mov edi, ebx
sar ecx, 8
mov eax, ecx
not eax
or eax, 0xff
xor edx, edx
add eax, ecx
sete dl
jmp dword [edx*4 + 0x444460]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x429107
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x429081
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov eax, dword [case.0x428f6e.9]
nop
jmp eax
mov eax, ecx
not eax
or eax, 0xff
add eax, ecx
xor ecx, ecx
cmp eax, 1
sete cl
jmp dword [ecx*4 + 0x444478]
mov eax, 0xb
mov ecx, 1
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 + 0x444480]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x429136
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
jmp 0x429166
xor eax, eax
test di, di
sete al
jmp dword [eax*4 + 0x444488]
mov eax, ebx
xor edx, edx
div di
movzx eax, ax
mov dword [esi + 8], eax
mov eax, ebx
jmp case.0x424ae6.153
mov edi, ebx
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x4290c7
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
jmp 0x429101
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 8], eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x42917b
cmp dword [esi + 8], reloc.OLEAUT32.dll_VariantClear
jl 0x42917b
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
mov dword [esi + 8], eax
jmp 0x429182
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x42916f
cmp edi, reloc.OLEAUT32.dll_VariantClear
jl 0x42916f
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x429163
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x42916f
cmp edi, reloc.OLEAUT32.dll_VariantClear
jl 0x42916f
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x10]
jmp case.0x424ae6.153
mov dword [esi + 8], 1
mov eax, dword [esi + 0x10]
jmp case.0x424ae6.153
mov dword [esi + 8], 1
mov eax, edi
mov byte [esi + 0x17], 0
test ax, ax
je 0x4291d4
lea ecx, [esi + 0x17]
cmp ax, 0x64
jb 0x4291dd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, ax
mov edx, ebx
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
imul edi, edx, 0x64
sub eax, edi
movzx edi, ax
movzx edi, word [edi + edi + 0x43e528]
mov word [ecx - 2], di
add ecx, 0xfffffffe
mov eax, edx
cmp ebx, 0x270f
ja 0x4291a0
jmp 0x4291df
lea ecx, [esi + 0x16]
mov byte [esi + 0x16], 0x30
jmp 0x42921d
mov edx, eax
movzx edx, dx
cmp dx, 9
ja 0x4291f5
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], dl
dec ecx
jmp 0x42921d
mov edi, edx
and edi, 2
mov ebx, edx
or edx, 2
imul edx, edi
xor edi, 2
and ebx, 0x3fd
imul ebx, edi
movzx edx, word [ebx + edx + 0x43e528]
mov word [ecx - 2], dx
add ecx, 0xfffffffe
mov dword [esi + 0x208], 0x846a785a
mov dword [esi + 0x20c], 0x8b769498
mov dword [esi + 0x210], 0xb2bfabbc
mov dword [esi + 0x214], 0x7f98aebc
mov byte [esi + 0x218], 0x5c
mov dword [esi + 0x21d], 0
mov dword [esi + 0x219], 0
mov dword [esi + 0x50], 0
mov edx, dword [esi + 0x50]
cmp edx, 0x18
ja 0x4292b6
nop
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x50]
movzx edi, byte [esi + edi + 0x208]
lea ebx, [edx + 0x8a]
and ebx, edi
add edx, edi
add ebx, ebx
sub edx, ebx
add edx, 0x5cf8e58a
mov dword [esi + 0xe0], edx
mov edx, dword [esi + 0xe0]
add dl, 0x3a
mov edi, dword [esi + 0x50]
mov byte [esi + edi + 0x208], dl
inc dword [esi + 0x50]
mov edx, dword [esi + 0x50]
cmp edx, 0x19
jb 0x429270
movzx edx, byte [esi + 0x208]
test dl, dl
je 0x4292dd
lea edi, [esi + 0x209]
mov eax, dword [esi + 0x1c]
mov ebx, dword [esi + 4]
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x4292d0
jmp 0x4292e3
mov eax, dword [esi + 0x1c]
mov ebx, dword [esi + 4]
mov edi, ebx
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42930d
inc ecx
mov ebx, eax
mov eax, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x429300
jmp 0x429312
mov ebx, eax
mov eax, dword [esi + 8]
mov dword [esi + 4], edi
mov byte [edi], 0
mov byte [esi + 0x17], 0
test al, al
je 0x429350
cmp al, 0x64
jb 0x429359
movzx ecx, al
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*8]
movzx edx, cx
shr edx, 0xc
imul ecx, edx, 0x64
sub al, cl
movzx eax, al
movzx eax, word [eax + eax + 0x43e528]
mov word [esi + 0x15], ax
mov ecx, 1
mov eax, edx
jmp 0x429362
lea eax, [esi + 0x16]
mov byte [esi + 0x16], 0x30
jmp 0x4293a2
mov ecx, 3
cmp al, 9
ja 0x429378
movzx eax, al
movzx edx, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lea eax, [esi + ecx]
add eax, 0x13
mov byte [esi + ecx + 0x13], dl
jmp 0x4293a2
mov ecx, eax
or ecx, 2
mov edx, eax
and edx, 0x7d
and eax, 2
mov edi, eax
xor edi, 2
imul edi, edx
movzx ecx, cl
imul ecx, eax
movzx ecx, word [edi + ecx + 0x43e528]
lea eax, [esi + 0x15]
mov word [esi + 0x15], cx
mov dword [esi + 0x208], 0x446a789a
mov dword [esi + 0x20c], 0x58765458
mov dword [esi + 0x210], 0x2c3f2b27
mov word [esi + 0x214], 0x7156
mov byte [esi + 0x216], 0x9e
mov dword [esi + 0x217], 0
mov dword [esi + 0x21a], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x15
ja 0x429453
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 0x208]
lea edi, [ecx - 0x40277616]
add ecx, 0xea
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0xe0], edi
mov ecx, dword [esi + 0xe0]
mov edx, ecx
or edx, 0x99
and ecx, 0x99
add ecx, edx
inc cl
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x16
jb 0x429400
movzx ecx, byte [esi + 0x208]
test cl, cl
je 0x42947d
lea edx, [esi + 0x209]
mov edi, dword [esi + 4]
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 0x429470
jmp 0x429480
mov edi, dword [esi + 4]
mov edx, edi
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42949b
inc eax
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x429490
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x208], 0xe08af89a
mov dword [esi + 0x20c], 0xf790d4d8
mov byte [esi + 0x210], 0xd4
mov dword [esi + 0x211], 0
mov dword [esi + 0x214], 0
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x50]
cmp eax, 0xf
ja 0x429520
nop
nop
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
movzx ecx, byte [esi + ecx + 0x208]
lea edx, [eax - 0x559c9dc6]
add eax, 0x3a
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0xe0], edx
mov eax, dword [esi + 0xe0]
add al, 0x6a
mov ecx, dword [esi + 0x50]
mov byte [esi + ecx + 0x208], al
inc dword [esi + 0x50]
mov eax, dword [esi + 0x50]
cmp eax, 0x10
jb 0x4294e0
movzx eax, byte [esi + 0x208]
test al, al
je 0x42954b
lea ecx, [esi + 0x209]
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 0x429540
mov dword [esi + 4], edi
mov byte [edi], 0
mov eax, dword [0x446540]
mov dword [esi + 0x208], 0xa315ad19
mov dword [esi + 0x20c], 0xa710a105
mov dword [esi + 0x210], 0xbb4ca553
mov dword [esi + 0x214], 0xbf1ab94a
mov dword [esi + 0x218], 0xb30ebd00
mov dword [esi + 0x21c], 0xb1b0
mov byte [esi + 0x220], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x18
ja 0x429601
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edi, byte [esi + edx + 0x208]
lea edx, [ecx + edi]
add edx, 0xfd119ec6
add ecx, 0xc6
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 + 0xe0], ecx
mov ecx, dword [esi + 0xe0]
add cl, 0x96
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x19
jb 0x4295b0
lea ecx, [esi + 0x208]
push 0x800
push 0
push ecx
call eax
mov edi, eax
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 0
lea ecx, [esi + 0xc4]
push eax
call fcn.00438670
movzx eax, al
jmp dword [eax*4 + 0x444490]
mov edi, dword [esi + 4]
jmp dword [0x444498]
mov dword [esi + 0xc], edi
lea eax, [esi + 0x20c]
push 0x344
push 0
push eax
call fcn.00408ea0
add esp, 0xc
mov dword [esi + 0x208], 0x348
push 0x588b3390
push dword [esi + 0xc4]
call fcn.0043a6c0
add esp, 8
push 0
lea ecx, [esi + 0x208]
push ecx
push 0
push 0
call eax
lea eax, [esi + 0x24c]
mov edi, dword [esi + 4]
lea ecx, [edi + 0x80]
mov dword [esi + 0x10], ecx
xor edx, edx
jmp 0x4296c8
mov byte [edi], bl
mov edx, 1
add eax, 2
add edx, ecx
cmp edx, 0x7f
mov edi, dword [esi + 4]
jae 0x42975c
add edi, edx
movzx ebx, word [eax]
test bx, bx
je 0x42975e
mov ecx, edx
cmp bx, 0x7f
jbe 0x4296b0
mov dword [esi + 8], ecx
mov ecx, edi
not ecx
add ecx, dword [esi + 0x10]
movzx edx, bx
cmp edx, 0x7ff
ja 0x429720
cmp ecx, 2
jb 0x429720
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov edx, 2
mov ecx, dword [esi + 8]
jmp 0x4296b7
mov dword [esi + 0x18], edx
xor edx, edx
cmp ecx, 3
mov ecx, dword [esi + 8]
jb 0x4296b7
mov edx, dword [esi + 0x18]
mov ecx, edx
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, dword [esi + 8]
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov edx, 3
jmp 0x4296b7
add edi, edx
mov byte [edi], 0
lea ebx, [esi + 0xe0]
push 0xdc
push 0
push ebx
call fcn.00408ea0
add esp, 0xc
mov word [esi + 0x124], 0xdc
push 0x1292c47a
push dword [esi + 0xc4]
call fcn.0043a6c0
add esp, 8
push ebx
push 0xffffffffffffffff
push 0
call eax
mov eax, dword [esi + 0x18c]
mov byte [esi + 0xb7], 0
test eax, eax
je 0x429801
lea ebx, [esi + 0xb7]
cmp eax, 0x64
jb 0x429810
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 4], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, dword [esi + 4]
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp dword [esi + 4], 0x270f
mov eax, edx
ja 0x4297c0
cmp edx, 9
ja 0x429817
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x42983f
lea ebx, [esi + 0xb6]
mov byte [esi + 0xb6], 0x30
jmp 0x42983f
mov edx, eax
cmp edx, 9
jbe 0x4297f4
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x3fffffd
imul ecx, eax
movzx eax, word [ecx + edx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov eax, dword [esi + 0x190]
mov byte [esi + 0x207], 0
test eax, eax
mov dword [esi + 8], ebx
je 0x4298a1
lea ebx, [esi + 0x207]
cmp eax, 0x64
jb 0x4298b3
nop
nop
mov dword [esi + 4], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, dword [esi + 4]
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp dword [esi + 4], 0x270f
mov eax, edx
ja 0x429860
cmp edx, 9
ja 0x4298ba
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x4298e2
lea eax, [esi + 0x206]
mov dword [esi + 4], eax
mov byte [esi + 0x206], 0x30
jmp 0x4298e5
mov edx, eax
cmp edx, 9
jbe 0x429894
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x3fffffd
imul ecx, eax
movzx eax, word [ecx + edx + 0x43e528]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov dword [esi + 4], ebx
mov ebx, dword [esi + 0x1c]
mov dword [esi + 0x50], 0xd7faec92
mov dword [esi + 0x54], 0x5356564d
mov dword [esi + 0x58], 0x51825841
mov dword [esi + 0x5c], 0x5b595e41
mov dword [esi + 0x60], 0x5c435555
mov dword [esi + 0x64], 0xf7968f42
mov dword [esi + 0x68], 0
mov byte [esi + 0x6c], 0
mov dword [esi + 0x74], 0
mov eax, dword [esi + 0x74]
cmp eax, 0x1c
ja 0x42996f
nop
nop
nop
nop
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x74]
movzx edx, byte [esi + ecx + 0x50]
mov ecx, 0x807d5bc3
sub ecx, eax
add eax, 0x3c
and eax, edx
or ecx, edx
not ecx
add ecx, edx
sub ecx, eax
mov dword [esi + 0xdc], ecx
mov eax, dword [esi + 0xdc]
add al, 0x5c
mov ecx, dword [esi + 0x74]
mov byte [esi + ecx + 0x50], al
inc dword [esi + 0x74]
mov eax, dword [esi + 0x74]
cmp eax, 0x1d
jb 0x429930
movzx eax, byte [esi + 0x50]
test al, al
je 0x42998d
lea ecx, [esi + 0x51]
mov edx, dword [esi + 8]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429980
jmp 0x429990
mov edx, dword [esi + 8]
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x4299ad
inc edx
mov ecx, dword [esi + 0xc]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4299a0
jmp 0x4299b0
mov ecx, dword [esi + 0xc]
mov byte [edi], pe_nt_image_headers32
inc edi
mov edx, dword [esi + 4]
movzx eax, byte [edx]
test al, al
je 0x4299cb
inc edx
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4299c0
mov byte [edi], 0
push ecx
call dword [0x446644]
jmp dword [0x444498]
mov byte [edi], 0
mov ecx, edi
xor ecx, ebx
mov eax, ebx
not eax
and eax, edi
add eax, eax
sub eax, ecx
mov dword [esi + 0x208], 0xbfb9b29b
mov dword [esi + 0x20c], 0xa362a2a9
mov word [esi + 0x210], 0xa1a6
mov byte [esi + 0x212], 0x2c
mov dword [esi + 0x213], 0
mov dword [esi + 0x217], 0
mov dword [esi + 0x21b], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x16
ja 0x429a8c
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 0x208]
mov ebx, ecx
and ebx, 0x17cc6089
xor ecx, 0x97cc6089
lea ecx, [ecx + ebx*2]
lea ebx, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [esi + 0xe0], ebx
mov ecx, dword [esi + 0xe0]
add cl, 0x41
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x17
jb 0x429a40
mov ecx, dword [ebp + 8]
push eax
mov ebx, dword [esi + 0x1c]
push ebx
lea eax, [esi + 0x208]
push eax
call fcn.00409730
mov byte [edi], 0
mov eax, edi
sub eax, ebx
mov dword [esi + 0x208], 0xbfb9b29b
mov dword [esi + 0x20c], 0xa362a2a9
mov word [esi + 0x210], 0xa1a6
mov byte [esi + 0x212], 0x2c
mov dword [esi + 0x213], 0
mov dword [esi + 0x217], 0
mov dword [esi + 0x21b], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 0x16
ja 0x429b4c
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 0x208]
mov ebx, ecx
and ebx, 0x17cc6089
xor ecx, 0x97cc6089
lea ecx, [ecx + ebx*2]
lea ebx, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [esi + 0xe0], ebx
mov ecx, dword [esi + 0xe0]
add cl, 0x41
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 0x208], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 0x17
jb 0x429b00
mov ecx, dword [ebp + 8]
push eax
mov ebx, dword [esi + 0x1c]
push ebx
lea eax, [esi + 0x208]
push eax
call fcn.00409730
jmp dword [0x4444a0]
jmp dword [0x4444a8]
push ebx
call fcn.00408df0
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov edi, dword [esi]
add edi, 8
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x348]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0xe4]
mov byte [esp + 0xec], al
mov byte [esp + 0x1f0], 0x54
mov byte [esp + 0x1f1], 1
mov byte [esp + 0x1f2], 0x51
mov byte [esp + 0x1f3], 3
mov byte [esp + 0x1f4], 0x53
mov byte [esp + 0x1f5], 0x1d
mov byte [esp + 0x1f6], 0xb0
mov byte [esp + 0x1f7], 0x1f
mov byte [esp + 0x1f8], 0xba
mov byte [esp + 0x1f9], 0x19
mov byte [esp + 0x1fa], 0x45
mov byte [esp + 0x1fb], 0x1b
mov byte [esp + 0x1fc], 0x41
mov byte [esp + 0x1fd], 0x15
mov byte [esp + 0x1fe], 0x43
mov byte [esp + 0x1ff], 0x17
mov byte [esp + 0x200], 0xb8
mov byte [esp + 0x201], 0x11
mov byte [esp + 0x202], 0x62
mov byte [esp + 0x203], 0x13
mov byte [esp + 0x204], 0x12
mov byte [esp + 0x205], 0x6d
mov dword [esp + 0x206], 0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 0x1a
jae 0x42a352
jmp 0x42a302
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
add edx, 0x5e2e662b
add eax, 0x2b
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x504], edx
mov eax, dword [esp + 0x504]
add al, 0xd3
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 0x1f0], al
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
cmp eax, 0x1a
jb 0x42a302
jmp 0x42a352
lea eax, [esp + 0x1f0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0x224], eax
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x224]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea esi, [esp + 0xe0]
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
not eax
shr eax, 0x1f
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x4f8]
mov ecx, dword [esp + 0x4f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [esp + 0x528]
sub ax, 2
sete al
mov ecx, dword [esp + 0x40c]
mov edx, dword [esp + 0x410]
mov ecx, dword [edx + ecx*4]
jmp ecx
lea eax, [esp + 0x160]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x528]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x6c]
mov cl, byte [esp + 0xc0]
mov byte [esp + 0xf0], cl
mov byte [esp + 0x170], 0x1b
mov byte [esp + 0x171], 0x41
mov byte [esp + 0x172], 0xcf
mov byte [esp + 0x173], 0x43
mov byte [esp + 0x174], 0x30
mov byte [esp + 0x175], 0x5d
mov byte [esp + 0x176], 0x2e
mov byte [esp + 0x177], 0x5f
mov byte [esp + 0x178], 0x21
mov byte [esp + 0x179], 0x59
mov byte [esp + 0x17a], 0x2e
mov byte [esp + 0x17b], 0x5b
mov byte [esp + 0x17c], 0xd6
mov byte [esp + 0x17d], 0x55
mov byte [esp + 0x17e], 0x38
mov byte [esp + 0x17f], 0x57
mov byte [esp + 0x180], 0x2d
mov byte [esp + 0x181], 0x51
mov byte [esp + 0x182], 0x27
mov byte [esp + 0x183], 0x53
mov byte [esp + 0x184], 0x2d
mov byte [esp + 0x185], 0x6d
mov byte [esp + 0x186], 6
mov byte [esp + 0x187], 0x6f
mov byte [esp + 0x188], 0x1f
mov byte [esp + 0x189], 0x69
mov byte [esp + 0x18a], 0x1e
mov byte [esp + 0x18b], 0x6b
mov byte [esp + 0x18c], 0x15
mov byte [esp + 0x18d], 0x65
mov byte [esp + 0x18e], 0x64
mov byte [esp + 0x18f], 0x67
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x28
jae 0x42a5c0
jmp 0x42a56b
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x44]
movzx edx, byte [esp + edx + 0x170]
mov esi, ecx
add esi, 0x27f6fcb
and esi, edx
lea ecx, [ecx + edx + 0x27f6fcb]
add esi, esi
sub ecx, esi
mov dword [esp + 0x508], ecx
mov ecx, dword [esp + 0x508]
add cl, 0x73
mov edx, dword [esp + 0x44]
mov byte [esp + edx + 0x170], cl
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
cmp ecx, 0x28
jb 0x42a56b
jmp 0x42a5c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x528]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x170]
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 + 0x414], eax
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x414]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
cmp eax, 0
setne al
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040edb0
lea eax, [esp + 0x228]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x37c], 1
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esi]
mov dword [esp + 0x2ec], 1
mov ecx, dword [esp + 0x2f0]
mov edx, dword [esp + 0x2ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, 0x660bf239
dec edi
or edx, dword [ebx - 0x75]
test byte [eax + esi], ah
add al, byte [eax]
add byte [ecx + 0x4ca12404], cl
clc
inc ebx
add bh, bh
rol byte [ebx - 0x7b76fb14], 1
and al, 0xb8
add byte [eax], al
add byte [ebx + 0x2a42484], cl
add byte [eax], al
mov ecx, dword [esp + 0x2a8]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0xe0]
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x350]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x290]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x4c8]
mov ecx, dword [esp + 0x4c4]
mov eax, dword [eax + ecx*4]
jmp eax
push es
adc bl, ch
ljmp 2
call fcn.0040edb0
mov ax, word [esp + 0x160]
sub ax, 8
sete al
mov dword [esp + 0x454], 0
mov ecx, dword [esp + 0x458]
mov edx, dword [esp + 0x454]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x33c], 0
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x358]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x314], 1
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x88]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x1d8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429b80
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov dword [esp], eax
call fcn.00408de0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x88]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x3c]
sub edx, 0xffffffff
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 0x42a85a
jmp 0x42a93a
mov dword [esp + 0x260], eax
cmp ecx, 0
sete al
mov byte [esp + 0x6b], al
mov dword [esp + 0x264], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42a884
jmp 0x42a93a
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42a894
jmp 0x42a93a
add edx, 2
mov dword [esp + 0x278], edx
mov eax, esi
xor eax, 0xffffffff
add eax, dword [esp + 0x260]
cmp bx, 0x80
jae 0x42a8ba
mov byte [esi], bl
mov ecx, 1
jmp 0x42a91e
cmp bx, 0x800
setb cl
cmp eax, 1
seta dl
and dl, cl
test dl, 1
jne 0x42a8d1
jmp 0x42a8ed
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 ecx, 2
jmp 0x42a91e
xor ecx, ecx
cmp eax, 2
jbe 0x42a91e
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov ecx, 3
add esi, ecx
cmp esi, edi
mov ebx, dword [esp + 0x278]
mov al, byte [esp + 0x6b]
mov ecx, dword [esp + 0x264]
jb 0x42a872
mov byte [esi], 0
mov al, byte [esp + 0x38]
mov byte [esp + 0xf4], al
mov byte [esp + 0x70], 0x77
mov byte [esp + 0x71], 0
mov byte [esp + 0x72], 0xc
mov byte [esp + 0x73], 7
mov byte [esp + 0x74], 3
mov byte [esp + 0x75], 0x1a
mov byte [esp + 0x76], 5
mov byte [esp + 0x77], 0x97
mov dword [esp + 0x78], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0xc
jae 0x42a9d9
jmp 0x42a98b
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x70]
mov edx, eax
add edx, 0xc4
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xa21575c4
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x50c]
add al, 0xa4
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x70], al
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
cmp eax, 0xc
jb 0x42a98b
jmp 0x42a9d9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040c120
mov dword [esp + 0xc8], eax
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xb4], edx
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
mov ebx, esi
not ebx
add edx, ebx
mov ecx, edx
neg ecx
lea eax, [edi + ecx - 1]
mov dword [esp + 0x23c], eax
mov eax, edi
sub eax, edx
mov edx, esi
sub edx, dword [esp + 0xb4]
seta dl
sub edi, ebx
sub edi, esi
seta dh
and dl, dh
test dl, 1
jne 0x42aa8a
mov ecx, eax
shr ecx, 2
mov ebx, dword [esp + 0xb4]
mov edx, ebx
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, eax
and ecx, 0xfffffffc
add esi, ecx
add ebx, ecx
mov ecx, eax
shr ecx, 1
and ecx, 1
mov edx, ebx
mov edi, esi
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, eax
and ecx, 1
cmp ecx, 0
mov ecx, ebx
je 0x42aabd
and eax, 2
mov cl, byte [ecx + eax]
mov byte [esi + eax], cl
jmp 0x42aabd
cmp eax, 0
mov edx, dword [esp + 0xb4]
je 0x42aabd
mov ecx, dword [esp + 0x23c]
add edx, ecx
add esi, ecx
mov ecx, edx
mov edi, esi
add eax, 0xffffffff
add ecx, 0xffffffff
mov dl, byte [edx]
add edi, 0xffffffff
mov byte [esi], dl
cmp eax, 0
mov edx, ecx
mov esi, edi
jne 0x42aaa5
jmp 0x42aabd
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x44c]
mov edx, dword [esp + 0x450]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040edb0
mov eax, dword [edi]
mov dword [esp + 0x334], 0
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x334]
mov ecx, dword [ecx + edx*4]
jmp ecx
lea eax, [esp + 0x160]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x228]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x6c]
mov cl, byte [esp + 0xbc]
mov byte [esp + 0xf8], cl
mov byte [esp + 0x198], 0xc5
mov byte [esp + 0x199], 0x8d
mov byte [esp + 0x19a], 0x60
mov byte [esp + 0x19b], 0xf3
mov byte [esp + 0x19c], 0x67
mov byte [esp + 0x19d], 0xf1
mov byte [esp + 0x19e], 0x62
mov byte [esp + 0x19f], 0xf7
mov byte [esp + 0x1a0], 0x55
mov byte [esp + 0x1a1], 0xf5
mov byte [esp + 0x1a2], 0x56
mov byte [esp + 0x1a3], 0xfb
mov byte [esp + 0x1a4], 0x54
mov byte [esp + 0x1a5], 0xf9
mov byte [esp + 0x1a6], 0xba
mov byte [esp + 0x1a7], 0xff
mov byte [esp + 0x1a8], 0x5d
mov byte [esp + 0x1a9], 0xfd
mov byte [esp + 0x1aa], 0x76
mov byte [esp + 0x1ab], 0xe3
mov byte [esp + 0x1ac], 0x45
mov byte [esp + 0x1ad], 0xe1
mov byte [esp + 0x1ae], 0xe6
mov byte [esp + 0x1af], 0xe7
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x4c]
cmp ecx, 0x20
jae 0x42ac94
jmp 0x42ac2b
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
movzx esi, byte [esp + edx + 0x198]
mov edi, ecx
add edi, 0x7c3dc7be
and edi, esi
lea edx, [ecx + esi + 0x7c3dc7be]
add ecx, 0xbe
and ecx, esi
add ecx, edi
mov esi, edx
not esi
mov edi, ecx
and edi, esi
not ecx
and edx, ecx
sub edx, edi
mov dword [esp + 0x510], edx
mov ecx, dword [esp + 0x510]
add cl, 0xce
mov edx, dword [esp + 0x4c]
mov byte [esp + edx + 0x198], cl
mov ecx, dword [esp + 0x4c]
inc ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, 0x20
jb 0x42ac2b
jmp 0x42ac94
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x228]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x198]
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 + 0x3f4], eax
mov eax, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
fldl2t
sbb byte [ebx - 0x7257e6a7], dh
push ss
xor byte [eax + ecx - 0x742a3cc7], bh
test byte [eax + ebp*2], ah
add dword [eax], eax
add byte [ecx + 0x15ff2404], cl
dec esp
clc
inc ebx
add byte [ebx - 0x7b76fb14], al
and al, 0x84
add byte [eax], al
add byte [ebx + 0x1682484], cl
add byte [eax], al
mov ecx, dword [esp + 0x84]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429b80
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
add eax, 1
mov dword [esp], eax
call fcn.00408de0
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x168]
mov eax, dword [esp + 0x84]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0x80]
add edx, 1
mov esi, dword [esp + 0x30]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42ad97
jmp 0x42ae77
mov dword [esp + 0x250], eax
cmp ecx, 0
sete al
mov byte [esp + 0x69], al
mov dword [esp + 0x254], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42adc1
jmp 0x42ae77
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42add1
jmp 0x42ae77
add edx, 2
mov dword [esp + 0x270], edx
mov eax, esi
xor eax, 0xffffffff
add eax, dword [esp + 0x250]
cmp bx, 0x80
jae 0x42adf7
mov byte [esi], bl
mov ecx, 1
jmp 0x42ae5b
cmp bx, 0x800
setb cl
cmp eax, 1
seta dl
and dl, cl
test dl, 1
jne 0x42ae0e
jmp 0x42ae2a
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 ecx, 2
jmp 0x42ae5b
xor ecx, ecx
cmp eax, 2
jbe 0x42ae5b
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov ecx, 3
add bh, byte [ecx + 3]
add esi, ecx
cmp esi, edi
mov ebx, dword [esp + 0x270]
mov al, byte [esp + 0x69]
mov ecx, dword [esp + 0x254]
jb 0x42adaf
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.00430a30
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x310]
mov eax, dword [ecx + eax*4]
jmp eax
or byte [ecx], cl
cld
loope 0x42ae55
test byte [esp + edx*8], ah
add al, byte [eax]
add byte [ebx + 0x2d8248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x2f4], 0
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov si, word [esp + 0x1d0]
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4b0]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x444], eax
mov eax, dword [esp + 0x448]
mov ecx, dword [esp + 0x444]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x21c], 0
mov eax, dword [esp + 0x220]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x21c]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x6c]
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 + 0x218], eax
mov eax, dword [esp + 0x218]
not eax
shr eax, 0x1f
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x4e0]
mov ecx, dword [esp + 0x4dc]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
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.00430a30
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.00430a30
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.00430a30
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.00430a30
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov eax, dword [esp + 0x41c]
mov ecx, dword [esp + 0x420]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x230]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
sub esp, 4
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x228]
mov dword [esp + 0x3a4], 0
mov ecx, dword [esp + 0x3a8]
mov edx, dword [esp + 0x3a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x168]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x84]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429b80
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
add eax, 1
mov dword [esp], eax
call fcn.00408de0
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x168]
mov eax, dword [esp + 0x84]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0x80]
add edx, 1
mov esi, dword [esp + 0x30]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42b169
jmp 0x42b249
mov dword [esp + 0x248], eax
cmp ecx, 0
sete al
mov byte [esp + 0x68], al
mov dword [esp + 0x24c], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42b193
jmp 0x42b249
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42b1a3
jmp 0x42b249
add edx, 2
mov dword [esp + 0x26c], edx
mov eax, esi
xor eax, 0xffffffff
add eax, dword [esp + 0x248]
cmp bx, 0x80
jae 0x42b1c9
mov byte [esi], bl
mov ecx, 1
jmp 0x42b22d
cmp bx, 0x800
setb cl
cmp eax, 1
seta dl
and dl, cl
test dl, 1
jne 0x42b1e0
jmp 0x42b1fc
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 ecx, 2
jmp 0x42b22d
xor ecx, ecx
cmp eax, 2
jbe 0x42b22d
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov ecx, 3
add esi, ecx
cmp esi, edi
mov ebx, dword [esp + 0x26c]
mov al, byte [esp + 0x68]
mov ecx, dword [esp + 0x24c]
jb 0x42b181
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.00430a30
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x434], 1
mov ecx, dword [esp + 0x438]
mov edx, dword [esp + 0x434]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x4a4], 0
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x42c]
mov edx, dword [esp + 0x430]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x21c]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x4bc], ecx
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4bc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov ecx, dword [esp + 0x218]
xor eax, eax
sub ecx, 1
setne cl
mov dword [esp + 0x4cc], 1
mov edx, dword [esp + 0x4d0]
mov esi, dword [esp + 0x4cc]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040edb0
lea eax, [esp + 0x228]
mov dword [esp + 0x3e4], 1
mov ecx, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ax, word [eax]
sub ax, 8
sete bl
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x3ec], 1
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3ec]
mov eax, dword [eax + ecx*4]
jmp eax
or ecx, ebx
or al, 0xa1
lea eax, [esp + 0x228]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [ecx + eax*4]
jmp eax
cdq
dec esp
adc eax, 0xe823204b
adc al, 0x8b
test byte [esp + ebx*8], ah
add byte [eax], al
add byte [ecx + 0x358b2404], cl
dec eax
clc
inc ebx
add bh, bh
salc
sub esp, 4
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x298]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x494]
mov edx, dword [esp + 0x498]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x88]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x1d8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429b80
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
sub eax, 0xffffffff
mov dword [esp], eax
call fcn.00408de0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x88]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x3c]
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 0x42b4ad
jmp 0x42b58d
mov dword [esp + 0x258], eax
cmp ecx, 0
sete al
mov byte [esp + 0x6a], al
mov dword [esp + 0x25c], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42b4d7
jmp 0x42b58d
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42b4e7
jmp 0x42b58d
add edx, 2
mov dword [esp + 0x274], edx
mov eax, esi
xor eax, 0xffffffff
add eax, dword [esp + 0x258]
cmp bx, 0x80
jae 0x42b50d
mov byte [esi], bl
mov ecx, 1
jmp 0x42b571
cmp bx, 0x800
setb cl
cmp eax, 1
seta dl
and dl, cl
test dl, 1
jne 0x42b524
jmp 0x42b540
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 ecx, 2
jmp 0x42b571
xor ecx, ecx
cmp eax, 2
jbe 0x42b571
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov ecx, 3
add esi, ecx
cmp esi, edi
mov ebx, dword [esp + 0x274]
mov al, byte [esp + 0x6a]
mov ecx, dword [esp + 0x25c]
jb 0x42b4c5
mov byte [esi], 0
mov al, byte [esp + 0x38]
mov byte [esp + 0xfc], al
mov byte [esp + 0x70], 0x77
mov byte [esp + 0x71], 0
mov byte [esp + 0x72], 0xc
mov byte [esp + 0x73], 7
mov byte [esp + 0x74], 3
mov byte [esp + 0x75], 0x1a
mov byte [esp + 0x76], 5
mov byte [esp + 0x77], 0x97
mov dword [esp + 0x78], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0xc
jae 0x42b62c
jmp 0x42b5de
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 0x70]
mov edx, eax
add edx, 0xc4
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xa21575c4
mov dword [esp + 0x514], eax
mov eax, dword [esp + 0x514]
add al, 0xa4
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x70], al
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
cmp eax, 0xc
jb 0x42b5de
jmp 0x42b62c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040c120
mov dword [esp + 0xc8], eax
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0xc8]
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 0x42b6b8
mov ecx, edx
shr ecx, 2
mov ebx, esi
mov edi, eax
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 ebx, esi
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
and ecx, 1
cmp ecx, 0
je 0x42b6dd
and edx, 2
mov cl, byte [esi + edx]
mov byte [eax + edx], cl
jmp 0x42b6dd
cmp edx, 0
je 0x42b6dd
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 esi, ecx
mov eax, edi
jne 0x42b6c5
jmp 0x42b6dd
mov dword [esp + 0x474], 1
mov eax, dword [esp + 0x478]
mov ecx, dword [esp + 0x474]
mov eax, dword [eax + ecx*4]
jmp eax
cwde
out 0x97, al
mov eax, dword fs:[esp + 0x2c4]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e8]
mov ecx, dword [edx + ecx*4]
jmp ecx
movzx eax, al
and eax, 1
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x408]
mov ecx, dword [esp + 0x404]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x47c], 1
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x47c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x220]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x370]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0xd8]
mov byte [esp + 0x100], al
mov byte [esp + 0x1e0], 0x47
mov byte [esp + 0x1e1], 0xad
mov byte [esp + 0x1e2], 0x73
mov byte [esp + 0x1e3], 0xa3
mov byte [esp + 0x1e4], 0x7c
mov byte [esp + 0x1e5], 0xa1
mov byte [esp + 0x1e6], 0xa6
mov byte [esp + 0x1e7], 0xa7
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x54]
cmp eax, 0x10
jae 0x42b858
jmp 0x42b806
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx ecx, byte [esp + ecx + 0x1e0]
mov edx, eax
add edx, 0xb84177e6
add eax, 0xe6
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x518], edx
mov eax, dword [esp + 0x518]
add al, 0xb6
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x1e0], al
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
cmp eax, 0x10
jb 0x42b806
jmp 0x42b858
lea eax, [esp + 0x1e0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0xdc], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0x104], al
mov byte [esp + 0x110], 0x73
mov byte [esp + 0x111], 0x25
mov byte [esp + 0x112], 0x6f
mov byte [esp + 0x113], 0x2b
mov byte [esp + 0x114], 0x66
mov byte [esp + 0x115], 0x29
mov byte [esp + 0x116], 0x63
mov byte [esp + 0x117], 0x2f
mov byte [esp + 0x118], 0x6b
mov byte [esp + 0x119], 0x2d
mov byte [esp + 0x11a], pe_nt_image_headers32
mov byte [esp + 0x11b], 0x33
mov byte [esp + 0x11c], 0x12
mov byte [esp + 0x11d], 0x31
mov byte [esp + 0x11e], 0x1e
mov byte [esp + 0x11f], 0x37
mov byte [esp + 0x120], 0x16
mov byte [esp + 0x121], 0x35
mov byte [esp + 0x122], 0x7e
mov byte [esp + 0x123], 0x3b
mov byte [esp + 0x124], 0x6c
mov byte [esp + 0x125], 0x39
mov byte [esp + 0x126], 0x69
mov byte [esp + 0x127], 0x3f
mov byte [esp + 0x128], 0x6d
mov byte [esp + 0x129], 0x3d
mov byte [esp + 0x12a], 0x1c
mov byte [esp + 0x12b], 0x43
mov byte [esp + 0x12c], 0x1b
mov byte [esp + 0x12d], 0x41
mov byte [esp + 0x12e], 0x2f
mov byte [esp + 0x12f], 0x47
mov byte [esp + 0x130], 0x34
mov byte [esp + 0x131], 0x45
mov byte [esp + 0x132], 0x71
mov byte [esp + 0x133], 0x4b
mov byte [esp + 0x134], 0x7c
mov byte [esp + 0x135], 0x49
mov byte [esp + 0x136], 0x29
mov byte [esp + 0x137], 0x4f
mov byte [esp + 0x138], 0x1f
mov byte [esp + 0x139], 0x4d
mov byte [esp + 0x13a], 0x3c
mov byte [esp + 0x13b], 0x53
mov byte [esp + 0x13c], 0x39
mov byte [esp + 0x13d], 0x51
mov byte [esp + 0x13e], 0x26
mov byte [esp + 0x13f], 0x57
mov byte [esp + 0x140], 0x31
mov byte [esp + 0x141], 0x55
mov byte [esp + 0x142], 0x20
mov byte [esp + 0x143], 0x5b
mov byte [esp + 0x144], 0x35
mov byte [esp + 0x145], 0x59
mov byte [esp + 0x146], 0x2a
mov byte [esp + 0x147], 0x5f
mov byte [esp + 0x148], 0x37
mov byte [esp + 0x149], 0x5d
mov byte [esp + 0x14a], 9
mov byte [esp + 0x14b], 0x63
mov byte [esp + 0x14c], 0x1d
mov byte [esp + 0x14d], 0x61
mov byte [esp + 0x14e], 0x15
mov byte [esp + 0x14f], 0x67
mov byte [esp + 0x150], 0x12
mov byte [esp + 0x151], 0x65
mov byte [esp + 0x152], 0xf
mov byte [esp + 0x153], 0x6b
mov byte [esp + 0x154], 0x19
mov byte [esp + 0x155], 0x69
mov byte [esp + 0x156], 0x68
mov byte [esp + 0x157], 0x6f
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
cmp eax, 0x50
jae 0x42bb30
jmp 0x42baea
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
movzx ecx, byte [esp + ecx + 0x110]
add eax, 0xb507dd25
xor eax, ecx
mov dword [esp + 0x51c], eax
mov eax, dword [esp + 0x51c]
add al, 0xfd
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0x110], al
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
cmp eax, 0x50
jb 0x42baea
jmp 0x42bb30
lea eax, [esp + 0x110]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xdc]
mov esi, dword [eax]
mov esi, dword [esi + 0x50]
lea edi, [esp + 0x220]
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 + 0x4e4], eax
mov eax, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4e4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x31c], 1
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call esi
sub esp, 4
mov dword [esp + 0x35c], 1
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x35c]
mov eax, dword [eax + ecx*4]
jmp eax
cmc
lcall 0xa62, 0x8f5080a5
invalid
lea eax, [esp + 0x1d0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x6c]
mov cl, byte [esp + 0xcc]
mov byte [esp + 0x108], cl
mov byte [esp + 0x1b8], 0xa3
mov byte [esp + 0x1b9], 0x61
mov byte [esp + 0x1ba], 0xc3
mov byte [esp + 0x1bb], 0x63
mov byte [esp + 0x1bc], 0xf4
mov byte [esp + 0x1bd], 0x65
mov byte [esp + 0x1be], 0xf2
mov byte [esp + 0x1bf], 0x67
mov byte [esp + 0x1c0], 0xc1
mov byte [esp + 0x1c1], 0x69
mov byte [esp + 0x1c2], 0xc5
mov byte [esp + 0x1c3], 0x6b
mov byte [esp + 0x1c4], 0xc2
mov byte [esp + 0x1c5], 0x6d
mov byte [esp + 0x1c6], 0x6e
mov byte [esp + 0x1c7], 0x6f
mov dword [esp + 0x1cb], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x17
jae 0x42bd6c
jmp 0x42bd0b
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
movzx esi, byte [esp + edx + 0x1b8]
mov edx, ecx
add edx, 0x7d546810
lea ecx, [ecx + esi + 0x7d546810]
and edx, esi
add edx, edx
mov esi, ecx
not esi
mov edi, edx
and edi, esi
not edx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x520], ecx
mov ecx, dword [esp + 0x520]
add cl, 0x90
mov edx, dword [esp + 0x5c]
mov byte [esp + edx + 0x1b8], cl
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x17
jb 0x42bd0b
jmp 0x42bd6c
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x1d0]
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 + 0x4b4], eax
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4b4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x43c], 0
mov eax, dword [esp + 0x440]
mov ecx, dword [esp + 0x43c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x32c]
mov edx, dword [esp + 0x330]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x470]
mov eax, dword [ecx + eax*4]
jmp eax
movsx ecx, word [esp + 0x530]
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 eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x400]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call eax
sub esp, 4
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x328]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x3dc]
mov edx, dword [esp + 0x3e0]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ecx, dword [esp + 0x39c]
mov edx, dword [esp + 0x3a0]
mov ecx, dword [edx + ecx*4]
jmp ecx
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.00430a30
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 + 0x424]
mov ecx, dword [esp + 0x428]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov ax, si
sub ax, 8
sete al
mov dword [esp + 0x49c], 1
mov ecx, dword [esp + 0x4a0]
mov edx, dword [esp + 0x49c]
mov ecx, dword [ecx + edx*4]
jmp ecx
lahf
jo 0x42bf30
mov ebp, dword [edi]
int3
jmp eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
inc ecx
mov dword [esp + 0x2c], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x34]
add eax, 0xa
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00430a30
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
inc ecx
mov dword [esp + 0x2c], ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x34]
add eax, 0xc
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00430a30
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x3ac], 0
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3ac]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x45c], 1
mov eax, dword [esp + 0x460]
mov ecx, dword [esp + 0x45c]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x484]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x3c4], 1
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x4d4], 0
mov eax, dword [esp + 0x4d8]
mov ecx, dword [esp + 0x4d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x48c]
mov edx, dword [esp + 0x490]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x364], 1
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x364]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, 0x848b40be
and al, 0xac
add al, byte [eax]
add byte [ebx + 0x2b0248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x224]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
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 + 0x304]
mov ecx, dword [esp + 0x308]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x1d0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x160]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x6c]
mov cl, byte [esp + 0xc4]
mov byte [esp + 0x10c], cl
mov byte [esp + 0x90], 0x52
mov byte [esp + 0x91], 0x85
mov byte [esp + 0x92], 0x75
mov byte [esp + 0x93], 0x83
mov byte [esp + 0x94], 0x6f
mov byte [esp + 0x95], 0x81
mov byte [esp + 0x96], 0x6f
mov byte [esp + 0x97], 0x8f
mov byte [esp + 0x98], 0x7a
mov byte [esp + 0x99], 0x8d
mov byte [esp + 0x9a], 0x40
mov byte [esp + 0x9b], 0x8b
mov byte [esp + 0x9c], 0x65
mov byte [esp + 0x9d], 0x89
mov byte [esp + 0x9e], 0x74
mov byte [esp + 0x9f], 0x97
mov byte [esp + 0xa0], 0x7d
mov byte [esp + 0xa1], 0x95
mov byte [esp + 0xa2], 0x48
mov byte [esp + 0xa3], 0x93
mov byte [esp + 0xa4], 0x65
mov byte [esp + 0xa5], 0x91
mov byte [esp + 0xa6], 0x63
mov byte [esp + 0xa7], 0x9f
mov byte [esp + 0xa8], 0x75
mov byte [esp + 0xa9], 0x9d
mov byte [esp + 0xaa], 0x9c
mov byte [esp + 0xab], 0x9b
mov dword [esp + 0xac], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x20
jae 0x42c28c
jmp 0x42c21e
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x60]
movzx esi, byte [esp + edx + 0x90]
mov edi, ecx
add edi, 0x2f575a41
lea edx, [ecx + esi + 0x2f575a41]
add ecx, 0x41
and ecx, esi
and edi, esi
add ecx, edi
mov esi, ecx
xor esi, edx
not ecx
and edx, ecx
add edx, edx
sub edx, esi
mov dword [esp + 0x524], edx
mov ecx, dword [esp + 0x524]
mov edx, ecx
xor edx, 0x38
and ecx, 0x38
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x90], cl
mov ecx, dword [esp + 0x60]
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
cmp ecx, 0x20
jb 0x42c21e
jmp 0x42c28c
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x160]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x90]
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 + 0x464], eax
mov eax, dword [esp + 0x468]
mov ecx, dword [esp + 0x464]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x384], 0
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x384]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x378]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [ebp + 8]
add esi, 0x10
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x300]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0xb8]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x230]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429b80
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x214]
add eax, 1
mov dword [esp], eax
call fcn.00408de0
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x230]
mov eax, dword [esp + 0xb8]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x230]
mov edx, dword [esp + 0x214]
add edx, 1
mov esi, dword [esp + 0x34]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42c3b0
jmp 0x42c490
mov dword [esp + 0x240], eax
cmp ecx, 0
sete al
mov byte [esp + 0x67], al
mov dword [esp + 0x244], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42c3da
jmp 0x42c490
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42c3ea
jmp 0x42c490
add edx, 2
mov dword [esp + 0x268], edx
mov eax, esi
xor eax, 0xffffffff
add eax, dword [esp + 0x240]
cmp bx, 0x80
jae 0x42c410
mov byte [esi], bl
mov ecx, 1
jmp 0x42c474
cmp bx, 0x800
setb cl
cmp eax, 1
seta dl
and dl, cl
test dl, 1
jne 0x42c427
jmp 0x42c443
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 ecx, 2
jmp 0x42c474
xor ecx, ecx
cmp eax, 2
jbe 0x42c474
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov ecx, 3
add esi, ecx
cmp esi, edi
mov ebx, dword [esp + 0x268]
mov al, byte [esp + 0x67]
mov ecx, dword [esp + 0x244]
jb 0x42c3c8
mov byte [esi], 0
mov eax, dword [esp + 0x34]
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.00430a30
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
inc ecx
mov dword [esp + 0x2c], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x34]
add eax, 4
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00430a30
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
inc ecx
mov dword [esp + 0x2c], ecx
mov byte [eax], 0x2e
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00430a30
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
inc ecx
mov dword [esp + 0x2c], ecx
mov byte [eax], 0x20
mov eax, dword [esp + 0x34]
add eax, 8
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00430a30
mov ecx, dword [esp + 0x394]
mov edx, dword [esp + 0x398]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0xe0]
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 + 0x4ec], eax
mov eax, dword [esp + 0x4f0]
mov ecx, dword [esp + 0x4ec]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x3cc], 1
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x15c]
shl ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00429b80
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x158]
add eax, 1
mov dword [esp], eax
call fcn.00408de0
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x180]
mov eax, dword [esp + 0x15c]
shl eax, 1
add ecx, eax
mov ebx, dword [esp + 0x180]
mov edx, dword [esp + 0x158]
add edx, 1
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 8]
mov eax, esi
add eax, edx
mov edi, eax
add edi, 0xffffffff
cmp edi, esi
ja 0x42cc79
jmp 0x42cd59
mov dword [esp + 0x198], eax
cmp ecx, 0
sete al
mov byte [esp + 0x4b], al
mov dword [esp + 0x19c], ecx
mov edx, ebx
sub edx, ecx
setb dl
or al, dl
test al, 1
jne 0x42cca3
jmp 0x42cd59
mov edx, ebx
mov bx, word [edx]
cmp bx, 0
jne 0x42ccb3
jmp 0x42cd59
add edx, 2
mov dword [esp + 0x1a0], edx
mov eax, esi
xor eax, 0xffffffff
add eax, dword [esp + 0x198]
cmp bx, 0x80
jae 0x42ccd9
mov byte [esi], bl
mov ecx, 1
jmp 0x42cd3d
cmp bx, 0x800
setb cl
cmp eax, 1
seta dl
and dl, cl
test dl, 1
jne 0x42ccf0
jmp 0x42cd0c
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 ecx, 2
jmp 0x42cd3d
xor ecx, ecx
cmp eax, 2
jbe 0x42cd3d
mov dx, bx
shr dx, 0xc
or dl, 0xe0
mov byte [esi], dl
mov dx, bx
shr dx, 6
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
mov ecx, 3
add esi, ecx
cmp esi, edi
mov ebx, dword [esp + 0x1a0]
mov al, byte [esp + 0x4b]
mov ecx, dword [esp + 0x19c]
jb 0x42cc91
mov byte [esi], 0
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x300]
mov eax, dword [ecx + eax*4]
jmp eax
fadd qword [0x848bebcc]
and al, 0xc4
add dword [eax], eax
add byte [ebx + 0x1c8248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x374], 1
mov eax, dword [esp + 0x378]
mov ecx, dword [esp + 0x374]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x294], 0
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x39c]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x37c], ecx
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
push edx
push esi
xor ah, byte es:[ecx - 0x6e7f3975]
das
push ecx
imul ecx, dword [ebx - 0x742c7b85], 0xffffff84
and al, 0xfc
add dword [eax], eax
add byte [ebx + 0x200248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x30c], 0
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x258]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0xa8], al
mov byte [esp + 0xc0], 0x80
mov byte [esp + 0xc1], 0xd5
mov byte [esp + 0xc2], 0x85
mov byte [esp + 0xc3], 0xeb
mov byte [esp + 0xc4], 0xbb
mov byte [esp + 0xc5], 0xe9
mov byte [esp + 0xc6], 0xbc
mov byte [esp + 0xc7], 0xef
mov byte [esp + 0xc8], 0x82
mov byte [esp + 0xc9], 0xed
mov byte [esp + 0xca], 0xb9
mov byte [esp + 0xcb], 0xe3
mov byte [esp + 0xcc], 0x99
mov byte [esp + 0xcd], 0xe1
mov byte [esp + 0xce], 0x85
mov byte [esp + 0xcf], 0xe7
mov byte [esp + 0xd0], 0x6d
mov byte [esp + 0xd1], 0xe5
mov byte [esp + 0xd2], 0x92
mov byte [esp + 0xd3], 0xfb
mov byte [esp + 0xd4], 0x85
mov byte [esp + 0xd5], 0xf9
mov byte [esp + 0xd6], 0x8c
mov byte [esp + 0xd7], 0xff
mov byte [esp + 0xd8], 0x71
mov byte [esp + 0xd9], 0xfd
mov byte [esp + 0xda], 0xb9
mov byte [esp + 0xdb], 0xf3
mov byte [esp + 0xdc], 0x89
mov byte [esp + 0xdd], 0xf1
mov byte [esp + 0xde], 0x82
mov byte [esp + 0xdf], 0xf7
mov byte [esp + 0xe0], 0x82
mov byte [esp + 0xe1], 0xf5
mov byte [esp + 0xe2], 0x8f
mov byte [esp + 0xe3], 0xb
mov byte [esp + 0xe4], 0x7c
mov byte [esp + 0xe5], 9
mov byte [esp + 0xe6], 0x3e
mov byte [esp + 0xe7], 0xf
mov byte [esp + 0xe8], 0xe
mov byte [esp + 0xe9], 0xd
mov word [esp + 0xee], 0
mov dword [esp + 0xea], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
cmp eax, 0x30
jae 0x42d038
jmp 0x42cfdf
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
movzx ecx, byte [esp + ecx + 0xc0]
mov edx, eax
and edx, 0xe353ffdd
xor eax, 0xe353ffdd
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0x42c], eax
mov eax, dword [esp + 0x42c]
add al, 0xf5
mov ecx, dword [esp + 0x30]
mov byte [esp + ecx + 0xc0], al
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
cmp eax, 0x30
jb 0x42cfdf
jmp 0x42d038
lea eax, [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x174]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea esi, [esp + 0x9c]
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
not eax
shr eax, 0x1f
mov dword [esp + 0x41c], eax
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x41c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x4c], 1
mov ecx, dword [esp + 0x204]
mov edx, dword [esp + 0x208]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x314], 0
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3f0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x28c], 1
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x2ec], 1
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x4c], 3
mov dword [esp + 0x3a4], 0
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x364], ecx
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x364]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2e0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x268]
mov ecx, dword [edx + ecx*4]
jmp ecx
cmc
inc esi
sar esi, 0xae
adc eax, 0x44c7d58e
and al, 0x4c
add eax, dword [eax]
add byte [eax], al
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [ecx + eax*4]
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x170]
mov dword [esp], eax
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x168], 0
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x168]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x84]
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 + 0x164], eax
mov eax, dword [esp + 0x164]
shr eax, 0x1f
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3e8]
mov ecx, dword [esp + 0x3e4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x3ac], 1
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x24c], 0
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3cc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
movzx eax, word [esi]
mov dword [esp + 0x32c], 0
mov ecx, dword [esp + 0x330]
mov edx, dword [esp + 0x32c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040edb0
mov dword [esp + 0x2b4], 1
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x214], 0
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [esp + 0x188]
sub ax, 3
sete al
mov ecx, dword [esp + 0x35c]
mov edx, dword [esp + 0x360]
mov ecx, dword [edx + ecx*4]
jmp ecx
insb byte es:[edi], dx
jle 0x42d471
int 0x8b
test byte [esp], ah
add dword [eax], eax
add byte [ebx + 0x1a8248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x2ac], 0
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x304]
and al, 8
add eax, dword [eax]
add byte [ebx + 0x304248c], cl
add byte [eax], al
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x240]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x354]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x288]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x274], 1
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
mov bh, 0xb2
ja 0x42d543
retf 0x3260
call fcn.0040edb0
mov dword [esp + 0x21c], 0
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x168]
mov eax, dword [esp + 0x3c4]
mov edx, dword [esp + 0x3c8]
mov eax, dword [edx + eax*4]
jmp eax
add eax, dword [eax]
add byte [ebx - 0x1f007dfc], cl
call fcn.0040edb0
mov dword [esp], 0xc
call fcn.00408de0
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x188]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x84]
mov cl, byte [esp + 0x28]
mov byte [esp + 0xac], cl
mov byte [esp + 0x50], 0x7c
mov byte [esp + 0x51], 0x8d
mov byte [esp + 0x52], 4
mov byte [esp + 0x53], 0x8b
mov byte [esp + 0x54], 0x7b
mov byte [esp + 0x55], 0x89
mov byte [esp + 0x56], 0x7a
mov byte [esp + 0x57], 0x87
mov byte [esp + 0x58], 9
mov byte [esp + 0x59], 0x85
mov byte [esp + 0x5a], 0x7d
mov byte [esp + 0x5b], 0x83
mov byte [esp + 0x5c], 0xc
mov byte [esp + 0x5d], 0x81
mov byte [esp + 0x5e], 0x71
mov byte [esp + 0x5f], 0x9f
mov byte [esp + 0x60], 0x10
mov byte [esp + 0x61], 0x9d
mov byte [esp + 0x62], 0x7b
mov byte [esp + 0x63], 0x9b
mov byte [esp + 0x64], 0x14
mov byte [esp + 0x65], 0x99
mov byte [esp + 0x66], 0x6b
mov byte [esp + 0x67], 0x97
mov byte [esp + 0x68], 0x94
mov byte [esp + 0x69], 0x95
mov dword [esp + 0x6e], 0
mov dword [esp + 0x6a], 0
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x34]
cmp ecx, 0x22
jae 0x42d697
jmp 0x42d63c
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
movzx esi, byte [esp + edx + 0x50]
mov edx, ecx
add edx, 0xc2
lea ecx, [ecx + esi + 0x79701cc2]
and edx, esi
add edx, edx
mov esi, ecx
not esi
mov edi, edx
and edi, esi
not edx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x430], ecx
mov ecx, dword [esp + 0x430]
add cl, 0xb2
mov edx, dword [esp + 0x34]
mov byte [esp + edx + 0x50], cl
mov ecx, dword [esp + 0x34]
inc ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
cmp ecx, 0x22
jb 0x42d63c
jmp 0x42d697
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x188]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x50]
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 + 0x36c], 0
mov edx, dword [esp + 0x370]
mov esi, dword [esp + 0x36c]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040edb0
mov dword [esp + 0x334], 0
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x334]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov ecx, dword [esp + 0x164]
xor eax, eax
sub ecx, 1
sete cl
mov dword [esp + 0x3d4], 1
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x3d4]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x9c]
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 + 0x414], eax
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x414]
mov eax, dword [eax + ecx*4]
jmp eax
dec edx
inc eax
or eax, 0xc5aee419
pop esp
and al, 0xc9
out dx, al
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x2d4], 1
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x98]
mov byte [esp + 0xb0], al
mov byte [esp + 0x78], 0x7f
mov byte [esp + 0x79], 0x25
mov byte [esp + 0x7a], 0x73
mov byte [esp + 0x7b], 0x2b
mov byte [esp + 0x7c], 0x66
mov byte [esp + 0x7d], 0x29
mov byte [esp + 0x7e], 0x28
mov byte [esp + 0x7f], 0x2f
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
cmp eax, 8
jae 0x42d889
jmp 0x42d83f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
movzx ecx, byte [esp + ecx + 0x78]
mov edx, eax
add edx, 0x4f31fa05
add eax, 5
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x434], edx
mov eax, dword [esp + 0x434]
add al, 0xdd
mov ecx, dword [esp + 0x38]
mov byte [esp + ecx + 0x78], al
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
cmp eax, 8
jb 0x42d83f
jmp 0x42d889
lea eax, [esp + 0x78]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x94]
mov byte [esp + 0xb4], al
mov byte [esp + 0xf0], 0xb3
mov byte [esp + 0xf1], 0xf9
mov byte [esp + 0xf2], 0x3f
mov byte [esp + 0xf3], 0xfb
mov byte [esp + 0xf4], 0x46
mov byte [esp + 0xf5], 0xfd
mov byte [esp + 0xf6], 0x3b
mov byte [esp + 0xf7], 0xff
mov byte [esp + 0xf8], 0x3b
mov byte [esp + 0xf9], 0xf1
mov byte [esp + 0xfa], 0x44
mov byte [esp + 0xfb], 0xf3
mov byte [esp + 0xfc], 0x12
mov byte [esp + 0xfd], 0xf5
mov byte [esp + 0xfe], 0x2e
mov byte [esp + 0xff], 0xf7
mov byte [esp + 0x100], 0x16
mov byte [esp + 0x101], 0xe9
mov byte [esp + 0x102], 0x2e
mov byte [esp + 0x103], 0xeb
mov byte [esp + 0x104], 0x58
mov byte [esp + 0x105], 0xed
mov byte [esp + 0x106], 0x5d
mov byte [esp + 0x107], 0xef
mov byte [esp + 0x108], 0x51
mov byte [esp + 0x109], 0xe1
mov byte [esp + 0x10a], 0
mov byte [esp + 0x10b], 0xe3
mov byte [esp + 0x10c], 0x21
mov byte [esp + 0x10d], 0xe5
mov byte [esp + 0x10e], 0x7a
mov byte [esp + 0x10f], 0xe7
mov byte [esp + 0x110], 0x72
mov byte [esp + 0x111], 0xd9
mov byte [esp + 0x112], 0x43
mov byte [esp + 0x113], 0xdb
mov byte [esp + 0x114], 0x6c
mov byte [esp + 0x115], 0xdd
mov byte [esp + 0x116], 0x47
mov byte [esp + 0x117], 0xdf
mov byte [esp + 0x118], 0x4c
mov byte [esp + 0x119], 0xd1
mov byte [esp + 0x11a], 0x47
mov byte [esp + 0x11b], 0xd3
mov byte [esp + 0x11c], 0x47
mov byte [esp + 0x11d], 0xd5
mov byte [esp + 0x11e], 0x64
mov byte [esp + 0x11f], 0xd7
mov byte [esp + 0x120], 0x44
mov byte [esp + 0x121], 0xc9
mov byte [esp + 0x122], 0x59
mov byte [esp + 0x123], 0xcb
mov byte [esp + 0x124], 0x6e
mov byte [esp + 0x125], 0xcd
mov byte [esp + 0x126], 0x5b
mov byte [esp + 0x127], 0xcf
mov byte [esp + 0x128], 0x6b
mov byte [esp + 0x129], 0xc1
mov byte [esp + 0x12a], 0x54
mov byte [esp + 0x12b], 0xc3
mov byte [esp + 0x12c], 0xc2
mov byte [esp + 0x12d], 0xc5
mov byte [esp + 0x132], 0
mov dword [esp + 0x12e], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
cmp eax, 0x43
jae 0x42db13
jmp 0x42dac5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
movzx ecx, byte [esp + ecx + 0xf0]
mov edx, eax
add edx, 0xf1a01eff
dec eax
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x438], edx
mov eax, dword [esp + 0x438]
add al, 7
mov ecx, dword [esp + 0x3c]
mov byte [esp + ecx + 0xf0], al
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
cmp eax, 0x43
jb 0x42dac5
jmp 0x42db13
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x410]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
test ecx, ecx
sete cl
mov edx, dword [esp + 0x3bc]
mov esi, dword [esp + 0x3c0]
mov edx, dword [esi + edx*4]
jmp edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x384]
mov edx, dword [esp + 0x388]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x170]
mov esi, dword [eax]
mov esi, dword [esi + 0x50]
lea edi, [esp + 0x90]
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 + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x3fc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x210]
mov eax, dword [ecx + eax*4]
jmp eax
sub eax, 8
sete bl
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x320]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x190]
lea edi, [esp + 0x160]
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x164]
lea eax, [esp + 0x194]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov al, byte [esp + 0x161]
mov ecx, dword [esp + 0x2c]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x350]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x3dc], 0
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x26c], 1
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x188]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
lea eax, [esp + 0x178]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x84]
mov cl, byte [esp + 0x8c]
mov byte [esp + 0xb8], cl
mov byte [esp + 0x138], 0x88
mov byte [esp + 0x139], 0x2d
mov byte [esp + 0x13a], 0x9b
mov byte [esp + 0x13b], 0x23
mov byte [esp + 0x13c], 0x97
mov byte [esp + 0x13d], 0x21
mov byte [esp + 0x13e], 0x96
mov byte [esp + 0x13f], 0x27
mov byte [esp + 0x140], 0x98
mov byte [esp + 0x141], 0x25
mov byte [esp + 0x142], 0x9b
mov byte [esp + 0x143], 0x3b
mov byte [esp + 0x144], 0xb1
mov byte [esp + 0x145], 0x39
mov byte [esp + 0x146], 0x6c
mov byte [esp + 0x147], 0x3f
mov byte [esp + 0x148], 0x9d
mov byte [esp + 0x149], 0x3d
mov byte [esp + 0x14a], 0x8f
mov byte [esp + 0x14b], 0x33
mov byte [esp + 0x14c], 0x95
mov byte [esp + 0x14d], 0x31
mov byte [esp + 0x14e], 0x36
mov byte [esp + 0x14f], 0x37
mov dword [esp + 0x153], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x40]
cmp ecx, 0x1f
jae 0x42de4b
jmp 0x42ddf7
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x40]
movzx edx, byte [esp + edx + 0x138]
mov esi, ecx
add esi, 0xb3ac5586
add ecx, 0x86
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0x43c], esi
mov ecx, dword [esp + 0x43c]
add cl, 0x56
mov edx, dword [esp + 0x40]
mov byte [esp + edx + 0x138], cl
mov ecx, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
cmp ecx, 0x1f
jb 0x42ddf7
jmp 0x42de4b
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x178]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x138]
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 + 0x344], eax
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x344]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
lea eax, [esp + 0x178]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x88]
xor ecx, ecx
test eax, eax
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
call fcn.0040edb0
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x244], 1
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
dec ebp
add dh, byte [eax]
cmc
sal byte [edi], 0x14
stosd dword es:[edi], eax
mov dword [esp], 0xc
call fcn.00408de0
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x188]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
sub esp, 4
mov eax, dword [esp + 0x84]
mov cl, byte [esp + 0x28]
mov byte [esp + 0xbc], cl
mov byte [esp + 0x50], 0x7c
mov byte [esp + 0x51], 0x8d
mov byte [esp + 0x52], 4
mov byte [esp + 0x53], 0x8b
mov byte [esp + 0x54], 0x7b
mov byte [esp + 0x55], 0x89
mov byte [esp + 0x56], 0x7a
mov byte [esp + 0x57], 0x87
mov byte [esp + 0x58], 9
mov byte [esp + 0x59], 0x85
mov byte [esp + 0x5a], 0x7d
mov byte [esp + 0x5b], 0x83
mov byte [esp + 0x5c], 0xc
mov byte [esp + 0x5d], 0x81
mov byte [esp + 0x5e], 0x71
mov byte [esp + 0x5f], 0x9f
mov byte [esp + 0x60], 0x10
mov byte [esp + 0x61], 0x9d
mov byte [esp + 0x62], 0x7b
mov byte [esp + 0x63], 0x9b
mov byte [esp + 0x64], 0x14
mov byte [esp + 0x65], 0x99
mov byte [esp + 0x66], 0x6b
mov byte [esp + 0x67], 0x97
mov byte [esp + 0x68], 0x94
mov byte [esp + 0x69], 0x95
mov dword [esp + 0x6e], 0
mov dword [esp + 0x6a], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x22
jae 0x42e069
jmp 0x42e00e
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x44]
movzx esi, byte [esp + edx + 0x50]
mov edx, ecx
add edx, 0xc2
lea ecx, [ecx + esi + 0x79701cc2]
and edx, esi
add edx, edx
mov esi, ecx
not esi
mov edi, edx
and edi, esi
not edx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x440], ecx
mov ecx, dword [esp + 0x440]
add cl, 0xb2
mov edx, dword [esp + 0x44]
mov byte [esp + edx + 0x50], cl
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
cmp ecx, 0x22
jb 0x42e00e
jmp 0x42e069
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x188]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x50]
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 + 0x1ec]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ecx, dword [esp + 0x404]
mov edx, dword [esp + 0x408]
mov ecx, dword [edx + ecx*4]
jmp ecx
inc ebx
lds ebx, [ebx - 0x3d]
lds edx, [edx + 0x586ae7e4]
cmp dword [esi], 0x14
push ebp
dec edx
enter 0xffffffffffff848b, 0x24
nop
add byte [eax], al
add byte [ebx + 0x8498b08], cl
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx + eax*4]
jmp eax
and dword [edi - 0x55d6ef77], ecx
and eax, 0xc74c6423
out dx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 3
sete cl
mov dword [esp + 0x25c], ecx
mov eax, dword [esp + 0x260]
ror dword [ecx + 0x25c248c], 0
add byte [ebx + 0x2602484], cl
add byte [eax], al
mov ecx, dword [esp + 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x88], esi
mov dword [esp + 0x2cc], 0
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x398]
mov eax, dword [ecx + eax*4]
jmp eax
mov ebp, dword [ecx]
aas
add dl, dl
jne 0x42e15f
add byte [ecx - 0x76247ce0], 0xb4
and al, 0x88
add byte [eax], al
add byte [ebx + 0x1cc2484], cl
add byte [eax], al
mov ecx, dword [esp + 0x1d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x2e4], 1
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + eax*4]
jmp eax
lea esi, [esp + 0x178]
mov eax, dword [esp + 0x33c]
mov ecx, dword [esp + 0x340]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x324]
mov edx, dword [esp + 0x328]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x280]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x70]
sub esp, 4
mov dword [esp], eax
call fcn.00408df0
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x5405f0cc
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbb0ff7e9
setl cl
mov dword [esi + 0x160], ecx
mov ecx, dword [esi + 0x164]
mov edx, dword [esi + 0x160]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xee1d17eb
setl cl
mov dword [esi + 0x158], ecx
mov ecx, dword [esi + 0x15c]
mov edx, dword [esi + 0x158]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3016ba3
sete cl
mov dword [esi + 0x168], ecx
mov eax, dword [esi + 0x16c]
mov ecx, dword [esi + 0x168]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esi + 0x12]
test al, al
mov eax, 0x5405f0cc
jne 0x42e784
mov eax, 0x3016ba3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
push eax
mov eax, esp
mov dword [esi + 0x48], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x7c], eax
push eax
mov eax, esp
mov dword [esi + 0x78], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x48]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0x4c
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call edi
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0x4d
call edi
mov ecx, dword [esi + 0x78]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x14]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi + 0x98], eax
mov ecx, dword [esi + 0x7c]
mov eax, dword [ecx]
mov dword [esi + 0x94], eax
mov edx, dword [esi + 0x14]
mov edx, dword [edx]
mov edi, dword [esi + 0x38]
mov edi, dword [edi]
mov ebx, dword [esi + 0x3c]
mov ebx, dword [ebx]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 0x24
mov ecx, dword [esi + 0x98]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x24]
mov byte [eax], 0
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0042f1e0
add esp, 0xc
mov byte [esi + 0x13], al
mov eax, dword [esi + 4]
mov dword [eax], 0xa4de56c9
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x1cc2560a
sete cl
mov dword [esi + 0x170], ecx
mov eax, dword [esi + 0x174]
mov ecx, dword [esi + 0x170]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esi + 4]
mov dword [eax], 0x1f5acfbf
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x24]
mov al, byte [eax]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov edx, eax
sub edx, 0x5405f0cc
setl cl
mov dword [esi + 0x1b0], ecx
mov ecx, dword [esi + 0x1b4]
mov edx, dword [esi + 0x1b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xbb0ff7e9
sete cl
mov dword [esi + 0x138], ecx
mov eax, dword [esi + 0x13c]
mov ecx, dword [esi + 0x138]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1cc2560a
setl cl
mov dword [esi + 0x188], ecx
mov ecx, dword [esi + 0x18c]
mov edx, dword [esi + 0x188]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3016ba3
setl cl
mov dword [esi + 0x1c0], ecx
mov ecx, dword [esi + 0x1c4]
mov edx, dword [esi + 0x1c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1f5acfbf
sete cl
mov dword [esi + 0x178], ecx
mov eax, dword [esi + 0x17c]
mov ecx, dword [esi + 0x178]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa4de56c9
setl cl
mov dword [esi + 0x130], ecx
mov ecx, dword [esi + 0x134]
mov edx, dword [esi + 0x130]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esi + 0x13]
test al, al
mov eax, 0x1cc2560a
jne 0x42eb75
mov eax, 0xa0ec3306
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1f5acfbf
setl cl
mov dword [esi + 0x180], ecx
mov ecx, dword [esi + 0x184]
mov edx, dword [esi + 0x180]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x6d62fd4b
setl cl
mov dword [esi + 0x1a8], ecx
mov ecx, dword [esi + 0x1ac]
mov edx, dword [esi + 0x1a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xfbff90b5
setl cl
mov dword [esi + 0x150], ecx
mov ecx, dword [esi + 0x154]
mov edx, dword [esi + 0x150]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xfbff90b5
sete cl
mov dword [esi + 0x148], ecx
mov eax, dword [esi + 0x14c]
mov ecx, dword [esi + 0x148]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 4]
mov dword [eax], 0xa0ec3306
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
pop es
in al, dx
sub byte [eax + edx*2], bl
mov eax, esp
push eax
mov edi, esp
push eax
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x58], esp
sub esp, 0x18
mov dword [esi + 0xac], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0xbc], esp
push eax
mov dword [esi + 0xb4], esp
sub esp, 0x18
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov dword [edi], eax
sub esp, 4
mov dword [esp], 0x4c
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
call ebx
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0x4d
call ebx
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov eax, dword [edi]
mov dword [esi + 0x54], edi
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov eax, dword [ecx]
sub esp, 0xc
mov ebx, dword [esi + 0xac]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [ebx + 8]
mov ebx, dword [esi + 0x5c]
mov dword [ebx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov edi, dword [esi + 0x60]
mov dword [edi], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
mov ebx, dword [esi + 0x54]
mov edx, dword [ebx]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov eax, dword [ecx]
mov ecx, dword [edi]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [esi + 0xb0]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov dword [esi + 0x84], eax
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx]
mov edx, dword [ebx]
mov ebx, dword [esi + 0x5c]
mov ebx, dword [ebx]
mov dword [esi + 0x90], ebx
mov ebx, dword [esi + 0x2c]
mov ebx, dword [ebx]
mov dword [esi + 0x8c], ebx
mov ebx, dword [esi + 0x60]
mov eax, dword [ebx]
mov dword [esi + 0x88], eax
sub esp, 0x24
mov eax, dword [esi + 0x84]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x8c]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x88]
mov dword [esp], eax
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [edi]
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0xb8]
mov byte [eax], 0
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, dword [esi + 0xb4]
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0042f1e0
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [eax], 0x1f5acfbf
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x47486383
sete cl
mov dword [esi + 0x190], ecx
mov eax, dword [esi + 0x194]
mov ecx, dword [esi + 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa4de56c9
sete cl
mov dword [esi + 0x128], ecx
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x128]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xee1d17eb
sete cl
mov dword [esi + 0x140], ecx
mov eax, dword [esi + 0x144]
mov ecx, dword [esi + 0x140]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esi + 4]
mov dword [eax], 0xee1d17eb
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x1c8]
mov edx, dword [esi + 0x1cc]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x47486383
setl cl
mov dword [esi + 0x1b8], ecx
mov ecx, dword [esi + 0x1bc]
mov edx, dword [esi + 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6d62fd4b
sete cl
mov dword [esi + 0x1a0], ecx
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esi + 0x48]
mov ecx, dword [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [esi + 0x20]
mov edx, dword [edx]
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x74]
mov bl, byte [ebx]
mov byte [esi + 0x4c], bl
mov byte [edi], 0x6b
mov byte [edi + 1], 0x7a
mov byte [edi + 2], 0x88
mov byte [edi + 3], 0x86
mov byte [edi + 4], 0x89
mov byte [edi + 5], 0x83
mov byte [edi + 6], 0x40
mov byte [edi + 7], 0x87
mov byte [edi + 8], 0x86
mov byte [edi + 9], 0x8e
mov byte [edi + 0xa], 0x12
mov dword [edi + 0xf], 0
mov dword [edi + 0xb], 0
mov edi, dword [esi + 0x1c]
mov dword [esi + 8], 0
mov ebx, dword [esi + 8]
cmp ebx, 0x13
jae 0x42f044
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa8], ecx
jmp 0x42efee
mov ebx, dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [edi + eax]
mov ecx, ebx
and ecx, 0xf9c7a484
xor ebx, 0x79c7a484
lea ecx, [ebx + ecx*2]
mov ebx, ecx
add ebx, eax
and ecx, eax
add ecx, ecx
sub ebx, ecx
mov dword [esi + 0x1d8], ebx
mov eax, dword [esi + 0x1d8]
add al, 0x64
mov ecx, dword [esi + 8]
mov byte [edi + ecx], al
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0x13
jb 0x42efee
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xa0]
jmp 0x42f044
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00409730
mov ecx, dword [esi + 0x24]
mov byte [ecx], al
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
test eax, eax
sete byte [esi + 0x12]
mov eax, dword [esi + 4]
mov dword [eax], 0x47486383
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x5405f0cc
sete cl
mov dword [esi + 0x198], ecx
mov eax, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x48]
mov ecx, dword [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [esi + 0x20]
mov edx, dword [edx]
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x74]
mov bl, byte [ebx]
mov byte [esi + 0x50], bl
mov byte [edi], 0x6b
mov byte [edi + 1], 0x7a
mov byte [edi + 2], 0x88
mov byte [edi + 3], 0x86
mov byte [edi + 4], 0x89
mov byte [edi + 5], 0x83
mov byte [edi + 6], 0x40
mov byte [edi + 7], 0x87
mov byte [edi + 8], 0x86
mov byte [edi + 9], 0x8e
mov byte [edi + 0xa], 0x12
mov dword [edi + 0xf], 0
mov dword [edi + 0xb], 0
mov edi, dword [esi + 0x1c]
mov dword [esi + 0xc], 0
mov ebx, dword [esi + 0xc]
cmp ebx, 0x13
jae 0x42f171
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa4], ecx
jmp 0x42f11b
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [edi + eax]
mov ecx, ebx
and ecx, 0xf9c7a484
xor ebx, 0x79c7a484
lea ecx, [ebx + ecx*2]
mov ebx, ecx
add ebx, eax
and ecx, eax
add ecx, ecx
sub ebx, ecx
mov dword [esi + 0x1dc], ebx
mov eax, dword [esi + 0x1dc]
add al, 0x64
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, 0x13
jb 0x42f11b
mov ecx, dword [esi + 0xa4]
mov eax, dword [esi + 0x9c]
jmp 0x42f171
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00409730
mov ecx, dword [esi + 0x24]
mov byte [ecx], al
mov eax, dword [esi + 4]
mov dword [eax], 0xee1d17eb
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa0ec3306
sete cl
mov dword [esi + 0x120], ecx
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x21]
mov dword [esp + 0x38], 1
and al, 1
movzx eax, al
add esp, 0x400
pop esi
pop edi
pop ebx
ret
xor ecx, ecx
mov edx, eax
sub edx, 0x461b618b
setl cl
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x330]
mov edx, dword [esp + 0x32c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040edb0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
movzx edx, word [esp + 0x22]
imul ecx, edx
mov edx, dword [esp + 0x24]
imul ecx, edx
add eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc969c2c8
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd34b541b
setl cl
mov dword [esp + 0x22c], ecx
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x22c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xca09f163
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x461b618b
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, 0x1196b0d8
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
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + eax*4]
jmp eax
push ds
dec ebx
sub dword [esi], ebp
mov dword [esp + 0x38], 2
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xac3ab331
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
popfd
salc
clc
xor cl, byte [ebx - 0x76c3dbbc]
inc esp
and al, 4
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], 0x7f2359cd
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb331b44f
sete cl
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3cf6d1cc
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
xor ecx, ecx
mov edx, eax
sub edx, 0x2ebd65c1
setl cl
mov dword [esp + 0x2dc], ecx
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa17b7786
setl cl
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xca919502
setl cl
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x214]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x10c92e79
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
call fcn.0040edb0
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1196b0d8
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x2b]
test al, al
mov eax, 0x3cf6d1cc
jne 0x42fc3e
mov eax, 0x6ea4a368
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xba6482ce
setl cl
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x7f2359cd
setl cl
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x388]
mov edx, dword [esp + 0x384]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x219b28fb
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
sub eax, 0xfc523d81
sete cl
mov dword [esp + 0x264], ecx
mov eax, dword [esp + 0x268]
mov ecx, dword [esp + 0x264]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x438015cc
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
sub eax, 0x89124bff
sete cl
mov dword [esp + 0x18c], ecx
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x18c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x21c3e07
sete cl
mov dword [esp + 0x294], ecx
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2f87480f
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4bccd546
setl cl
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x344]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6ea4a368
sete cl
mov dword [esp + 0x36c], ecx
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov dword [esp + 0x38], 2
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6ca05450
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x219b28fb
sete cl
mov dword [esp + 0x2cc], ecx
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1196b0d8
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, 0x473a1162
sete cl
mov dword [esp + 0x334], ecx
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x334]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x13193f54
setl cl
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x418]
mov dword [ecx], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x414]
mov dword [ecx], eax
mov byte [esp + 0x21], 1
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x89124bff
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xac3ab331
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfc523d81
setl cl
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [esp + 0x4c], 0
movzx eax, word [esp + 0x22]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x4c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00404f20
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
test eax, eax
mov eax, 0x701c7d0b
jne 0x42ff66
mov eax, 0x89124bff
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xac3ab331
sete cl
mov dword [esp + 0x1ac], ecx
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xdd48e86f
setl cl
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x2f87480f
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
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x461b618b
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x53252301
setl cl
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3a0]
mov edx, dword [esp + 0x39c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xe9285403
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf5239509
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf5239509
setl cl
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x274]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2f87480f
sete cl
mov dword [esp + 0x2e4], ecx
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x3cf6d1cc
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
sub eax, 0xdd48e86f
sete cl
mov dword [esp + 0x23c], ecx
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x461b618b
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3b4]
mov edx, dword [esp + 0x3b8]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xca09f163
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x10c92e79
sete cl
mov dword [esp + 0x29c], ecx
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf5239509
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc969c2c8
sete cl
mov dword [esp + 0x1e4], ecx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3c8]
test eax, eax
mov eax, 0x219b28fb
jne 0x4301f0
mov eax, 0xdd48e86f
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xbfa57508
sete cl
mov dword [esp + 0x1dc], ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6ca05450
setl cl
mov dword [esp + 0x364], ecx
mov ecx, dword [esp + 0x368]
mov edx, dword [esp + 0x364]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xcf56dfb2
setl cl
mov dword [esp + 0x234], ecx
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x234]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x948f9b1a
setl cl
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x19c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x7f2359cd
sete cl
mov dword [esp + 0x37c], ecx
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x3c]
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 + 0x44], eax
mov eax, dword [esp + 0x44]
test eax, eax
sete byte [esp + 0x2a]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb331b44f
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6ca05450
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
xor ecx, ecx
sub eax, 0xd34b541b
sete cl
mov dword [esp + 0x224], ecx
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x224]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x2ebd65c1
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, 0x43267a65
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
call fcn.0040edb0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfc523d81
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xe9285403
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
mov edx, eax
sub edx, 0x6ea4a368
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
xor ecx, ecx
mov edx, eax
sub edx, 0xb331b44f
setl cl
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x1fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00408df0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xba6482ce
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, 0xac3ab331
setl cl
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xba6482ce
sete cl
mov dword [esp + 0x1cc], ecx
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xca09f163
sete cl
mov dword [esp + 0x204], ecx
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x204]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xcf56dfb2
sete cl
mov dword [esp + 0x21c], ecx
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xddeed6d7
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
xor ecx, ecx
sub eax, 0x701c7d0b
sete cl
mov dword [esp + 0x374], ecx
mov eax, dword [esp + 0x378]
mov ecx, dword [esp + 0x374]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, byte [esp + 0x3c0]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2ebd65c1
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x13193f54
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
call fcn.0040edb0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
sub eax, ecx
setl byte [esp + 0x2b]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd34b541b
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, 0xca09f163
setl cl
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x290]
mov edx, dword [esp + 0x28c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xca919502
sete cl
mov dword [esp + 0x20c], ecx
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x20c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x4bccd546
sete cl
mov dword [esp + 0x33c], ecx
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x701c7d0b
setl cl
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x390]
mov edx, dword [esp + 0x38c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc969c2c8
setl cl
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x53252301
sete cl
mov dword [esp + 0x354], ecx
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x354]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe9285403
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
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x5c]
sub eax, ecx
mov eax, 0x21c3e07
jl 0x4306db
mov eax, 0xbfa57508
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa17b7786
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x948f9b1a
sete cl
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov ecx, eax
and ecx, 0xff00ff00
and eax, 0xff0000
shr eax, 0x10
or ecx, eax
mov dword [esp + 0x3c4], ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xca919502
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040edb0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x7f2359cd
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa17b7786
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, 0xddeed6d7
setl cl
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 0x24c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x21c3e07
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
xor ecx, ecx
mov edx, eax
sub edx, 0xbfa57508
setl cl
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x2a]
test al, al
mov eax, 0xba6482ce
jne 0x430856
mov eax, 0x438015cc
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xdd48e86f
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf5239509
sete cl
mov dword [esp + 0x25c], ecx
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x438015cc
setl cl
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x3a8]
mov edx, dword [esp + 0x3a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x53252301
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, 0x473a1162
setl cl
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x350]
mov edx, dword [esp + 0x34c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
movzx edx, word [esp + 0x22]
imul ecx, edx
mov edx, dword [esp + 0x24]
mov esi, edx
not esi
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
mov edi, ecx
and edi, esi
imul edi, ebx
mov esi, ecx
and esi, edx
or ecx, edx
imul ecx, esi
add eax, ecx
add eax, edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfc523d81
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3bc]
shl eax, 0x10
mov ecx, dword [esp + 0x3c4]
or ecx, eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x948f9b1a
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
push 0x8c13bf9b
xlatb
aaa
lahf
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2f87480f
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x43267a65
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
mov dword [esp + 0x38], 5
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x13193f54
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax