Function at 0x423590
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov eax, dword [0x44ab94]
mov dword [esp + 0x1c], 0xda94d4b2
mov dword [esp + 0x20], 0xde69d86b
mov dword [esp + 0x24], 0x227cdc9b
mov dword [esp + 0x28], 0x26802097
mov dword [esp + 0x2c], 0x2a792442
mov dword [esp + 0x30], 0x2e9a2879
mov dword [esp + 0x34], 0x32882c9b
mov dword [esp + 0x38], 0x36903083
mov dword [esp + 0x3c], 0x3a5a3493
mov dword [esp + 0x40], 0x3e653854
mov dword [esp + 0x44], 0x2983c88
mov dword [esp + 0x48], 0x6b600b4
mov dword [esp + 0x4c], 0xab604ae
mov dword [esp + 0x50], 0xe7b08b9
mov dword [esp + 0x54], 0x12a00cb7
mov dword [esp + 0x58], 0x161110bf
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x423660
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x12f3a275
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x5e
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x423630
lea esi, [esp + 0x80]
lea ecx, [esp + 0x1c]
push esi
push 0
push 0
push 0x1f
push ecx
push 0
call eax
mov ebx, dword [esp + 0x80]
test ebx, ebx
jns 0x423689
mov eax, 0xffffffff
jmp 0x42368c
lea eax, [ebx + ebx]
push eax
call fcn.00409a50
add esp, 4
mov ebp, eax
mov eax, dword [0x44ab94]
mov dword [esp + 0x1c], 0x62206046
mov dword [esp + 0x20], 0x66176415
mov dword [esp + 0x24], 0x7a18783d
mov dword [esp + 0x28], 0x7e1c7c09
mov dword [esp + 0x2c], 0x721f7056
mov dword [esp + 0x30], 0x7606742b
mov dword [esp + 0x34], 0x8aec88fd
mov dword [esp + 0x38], 0x8eec8cfd
mov dword [esp + 0x3c], 0x82be80e5
mov dword [esp + 0x40], 0x86eb84b8
mov dword [esp + 0x44], 0x9afc98ec
mov dword [esp + 0x48], 0x9eea9ce8
mov dword [esp + 0x4c], 0x92e290ea
mov dword [esp + 0x50], 0x96a994eb
mov dword [esp + 0x54], 0xaad4a821
mov dword [esp + 0x58], 0xaeafacd1
mov dword [esp + 0x5c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x423770
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 + 0x1c]
add ecx, 0x4c85a668
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xf7
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x423740
push esi
push ebx
push ebp
push 0x1f
lea ecx, [esp + 0x2c]
push ecx
push 0
call eax
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043ef30
add esp, 0x14
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447210]
jmp dword [0x447338]
push ebp
call fcn.00409a60
add esp, 4
and bl, 1
mov eax, ebx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043f2b0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447218]
mov dword [esp + 0x7c], ebp
jmp dword [0x447224]
jmp dword [0x447244]
mov dword [esp + 0x1c], 0xb943bfbb
mov dword [esp + 0x20], 0xbd44b347
mov word [esp + 0x24], 0xfe9a
mov byte [esp + 0x26], 0xdf
mov byte [esi + 4], 0
mov dword [esi], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x42385e
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xab3f42c0
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xeb
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x423830
movzx edx, byte [esp + 0x1c]
mov ebp, ebx
test dl, dl
je 0x4237f0
lea eax, [esp + 0x1c]
mov ecx, ebx
mov ebp, ebx
jmp 0x42388b
movzx edx, byte [eax]
test dl, dl
je 0x4237f0
mov dh, byte [ecx]
test dh, dh
je 0x4238b0
inc ecx
inc eax
lea edi, [ebp + 1]
cmp dh, dl
je 0x42389e
mov ebp, edi
mov ecx, edi
je 0x423880
lea eax, [esp + 0x1c]
jmp 0x423880
xor ebp, ebp
jmp dword [0x447244]
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x447248]
lea ebx, [ebp + 0xa]
movzx eax, byte [ebp + 0xa]
xor edx, edx
test al, al
je 0x4238f1
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x4238ef
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4238e0
jmp 0x4238f1
mov edx, ecx
mov edi, edx
sub edi, ebx
xor eax, eax
cmp edi, 5
setb al
jmp dword [eax*4 + 0x447250]
movzx eax, byte [edx - 1]
mov ecx, dword [case.0x4238fd.5]
nop
nop
jmp ecx
xor ecx, ecx
cmp al, 0x74
setne cl
jmp dword [ecx*4 + 0x447268]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x447270]
jmp dword [0x447280]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x447288]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x447290]
mov dword [esp + 0x14], edx
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x423968
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0xc], edi
lea ecx, [eax + edi*2]
mov edx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x64], ecx
cmp eax, ecx
mov ecx, dword [esp + 0x14]
jae 0x4239d7
mov edx, dword [esp + 0x10]
cmp ebx, ecx
jae 0x4239d7
mov edx, dword [esp + 0x10]
mov edi, ebx
cmp byte [edi], 0
je 0x4239d7
lea eax, [esp + 0x1c]
push eax
push ecx
push edi
mov dword [esp + 0x14], edx
call fcn.0040d270
mov edx, dword [esp + 0x14]
add esp, 0xc
movzx ecx, word [esp + 0x1c]
mov word [edx], cx
add edx, 2
cmp edx, dword [esp + 0x64]
jae 0x4239d7
add edi, eax
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jb 0x4239a0
mov word [edx], 0
lea eax, [esp + 0x68]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x20]
call fcn.0043ef30
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447298]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x70]
call fcn.0043f2b0
add esp, 0xc
test eax, eax
setns al
mov edi, dword [esp + 0x78]
cmp edi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4472a0]
push edi
call fcn.00409a50
add esp, 4
push 0
push edi
mov dword [esp + 0x6c], eax
push eax
push dword [esp + 0x74]
call fcn.0043f3a0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4472a8]
xor edx, edx
mov ecx, dword [esp + 0x10]
jmp 0x423a78
add ecx, 2
test di, di
je 0x423a89
mov eax, edx
movzx edi, word [ecx]
mov edx, ecx
cmp di, 0x5c
je 0x423a70
mov edx, eax
jmp 0x423a70
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4472b0]
mov dword [esp + 8], 0
xor eax, eax
mov edi, dword [esp + 0xc]
jmp 0x423abc
sub eax, dword [esp + 0x10]
sar eax, 1
lea ecx, [eax + 1]
mov dword [esp + 8], ecx
not eax
mov edi, dword [esp + 0xc]
add eax, edi
add eax, 0x1b
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 8]
sub edi, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], 0xe4fafc03
mov dword [esp + 0x20], 0xe7f5ebe6
mov dword [esp + 0x24], 0xf61c33ec
mov dword [esp + 0x28], 0x28e3f0e8
mov dword [esp + 0x2c], 0xae6ea0e
mov dword [esp + 0x30], 0xd40a0414
mov dword [esp + 0x34], 0xa2d2d5
add eax, ebx
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x423b50
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0x2f21dfed
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x5b
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x423b20
movzx edx, byte [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
test dl, dl
je 0x423b7b
lea edi, [esp + 0x1d]
mov ecx, dword [esp + 0x6c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x423b70
mov byte [ecx], 0
mov edx, dword [esp + 0xc]
test edx, edx
je 0x423bd2
mov edi, dword [esp + 8]
add edi, ebp
mov edx, dword [esp + 0x14]
sub edx, edi
add edx, 0xfffffff5
mov ebp, dword [esp + 0xc]
and ebp, 3
je 0x423bd6
mov dword [esp + 0x14], edx
xor edx, edx
mov edi, ecx
movzx ecx, byte [eax]
mov byte [esp + 8], cl
cmp byte [esp + 8], 1
sbb eax, 0xffffffff
movzx ecx, byte [esp + 8]
mov byte [edi + edx], cl
mov ecx, edi
inc edx
cmp ebp, edx
jne 0x423ba4
add ecx, edx
sub dword [esp + 0xc], edx
mov edi, ecx
mov edx, dword [esp + 0x14]
jmp 0x423bd6
mov edi, ecx
jmp 0x423c18
cmp edx, 3
mov ebp, dword [esp + 0xc]
jb 0x423c18
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea edi, [ecx + 4]
mov byte [ecx + 3], dl
mov ecx, edi
add ebp, 0xfffffffc
jne 0x423bdf
mov byte [edi], 0
mov ecx, dword [esp + 0x98]
push dword [esp + 0x78]
push dword [esp + 0x68]
mov edi, dword [esp + 0x74]
push edi
call fcn.0040a340
mov ecx, dword [esp + 0x60]
and cl, 1
or cl, al
mov dword [esp + 0x60], ecx
jmp dword [0x4472c8]
push edi
call fcn.00409a60
add esp, 4
jmp dword [0x4472e0]
jmp dword [0x4472ec]
jmp dword [0x4472e0]
push dword [esp + 0x64]
call fcn.00409a60
add esp, 4
jmp dword [0x4472ec]
jmp dword [0x4472f8]
push dword [esp + 0x10]
call fcn.00409a60
add esp, 4
mov eax, dword [case.0x4238fd.1]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44723c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1c], 0xf8fbfafd
mov word [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x423cf0
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x423cc0
mov ecx, dword [0x44ab98]
test ecx, ecx
je case.0x4239fb.21
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ebp, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x423d21
inc edi
cmp ecx, edi
jne 0x423d10
jmp case.0x4239fb.21
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je case.0x4239fb.21
push eax
push 1
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x10
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1c], 0xf8fbfafd
mov word [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x423d90
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x423d60
mov ecx, dword [0x44ab98]
test ecx, ecx
je 0x423dc9
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ebp, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x423dc1
inc edi
cmp ecx, edi
jne 0x423db0
jmp 0x423dc9
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
jne 0x423dcf
jmp dword [0x4472f4]
push eax
push 1
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x10
jmp dword [0x4472f4]
mov dword [esp + 0x1c], 0xb943bfbb
mov dword [esp + 0x20], 0xbd44b347
mov word [esp + 0x24], 0xfe9a
mov byte [esp + 0x26], 0xdf
mov byte [esi + 4], 0
mov dword [esi], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja case.0x42379c.11
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xab3f42c0
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xeb
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x423e20
jmp case.0x42379c.11
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0xf8fbfafd
mov word [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x423eb0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x423e80
mov ecx, dword [0x44ab98]
test ecx, ecx
je case.0x4239fb.36
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423ee0
inc esi
cmp ecx, esi
jne 0x423ed0
jmp case.0x4239fb.36
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x4239fb.36
push eax
push 1
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x10
jmp case.0x4239fb.36
jmp dword [0x447334]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0xf8fbfafd
mov word [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x423f60
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x423f30
mov ecx, dword [0x44ab98]
test ecx, ecx
je 0x423f00
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423fa0
inc esi
cmp ecx, esi
jne 0x423f80
jmp 0x423f00
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x423f00
push eax
push 1
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x10
jmp dword [0x447334]
mov esi, dword [esp + 0x70]
lea eax, [esi + 1]
push eax
call fcn.00409a50
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0043f3a0
add esp, 0x10
mov esi, dword [esp + 0x70]
lea eax, [esi + 1]
push eax
call fcn.00409a50
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0043f3a0
add esp, 0x10
jmp dword [0x44722c]
mov dword [esp + 0x74], edi
not eax
shr eax, 0x1f
mov dword [esp + 0x60], 0
jmp dword [eax*4 + 0x447230]
mov eax, dword [case.0x4239fb.33]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x60]
jmp dword [0x447320]
push dword [esp + 0x74]
call fcn.00409a60
add esp, 4
jmp dword [0x447328]
jmp dword [0x447328]
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov byte [ebx + eax], 0
lea esi, [esp + 0x27]
mov dword [esp + 0x60], 0
jmp dword [0x44723c]
xor ecx, ecx
mov edx, eax
sub edx, 0xa24c6655
setl cl
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x13c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x32]
mov byte [esp + 0x39], al
call fcn.0040a130
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x30c0a49a
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x30c0a49a
setl cl
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x210]
mov edx, dword [esp + 0x20c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb0e2e522
setl cl
mov dword [esp + 0x15c], ecx
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x15c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x95b932c5
sete cl
mov dword [esp + 0x114], ecx
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb0e2e522
sete cl
mov dword [esp + 0x154], ecx
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004260d0
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x76651b3d
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd541fb21
sete cl
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x99b0c0b1
sete cl
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x76651b3d
setl cl
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x1fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xfd1f784e
sete cl
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x76651b3d
sete cl
mov dword [esp + 0x1e4], ecx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
jae 0x425857
sub eax, 0x128a2665
mov eax, dword fs:[esp + 0x44]
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], 0x30c0a49a
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xd5c9467e
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfd1f784e
setl cl
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x1a0]
pushfd
ror dword [ecx + 0x19c248c], 0
add byte [ebx + 0x1a0248c], cl
add byte [eax], al
mov edx, dword [esp + 0x19c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
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], 0xb0e2e522
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x224]
sub eax, 0xffffffff
mov eax, 0x99b0c0b1
jl 0x42590c
mov eax, 0xb052fa2f
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x30c0a49a
sete cl
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4206166
setl cl
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb98e6a0f
sete cl
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x95b932c5
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x65544210
setl cl
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb052fa2f
setl cl
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x184]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x65544210
sete cl
mov dword [esp + 0x1dc], ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb052fa2f
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x7db251a0
mov al, byte [esp + 0x33]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x45f2764
sete cl
mov dword [esp + 0x1ac], ecx
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x4206166
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
in eax, dx
out dx, eax
cmpsb byte [esi], byte es:[edi]
dec edx
xor byte [edi], ch
push edx
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
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], 0xd5c9467e
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x7db251a0
sete cl
mov dword [esp + 0x1ec], ecx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x456de130
setl cl
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x45f2764
setl cl
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd5c9467e
sete cl
mov dword [esp + 0x18c], ecx
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x18c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd541fb21
setl cl
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov ecx, dword [ecx + edx*4]
jmp ecx
pop ss
movsb byte es:[edi], byte [esi]
rcr dword [edi], 0x8b
inc esp
and al, 0x44
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004260d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x95b932c5
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa24c6655
sete cl
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x134]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x3a]
and al, 1
movzx eax, al
add esp, 0x248
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0xb052fa2f
sete cl
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x14c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x3b]
test al, al
mov eax, 0xb98e6a0f
jne 0x425caf
mov eax, 0x7db251a0
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov byte [esp + 0x32], 0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7db251a0
setl cl
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x456de130
sete cl
mov dword [esp + 0x1cc], ecx
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd5c9467e
setl cl
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x214]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov al, byte [esp + 0x39]
and al, 1
mov byte [esp + 0x3a], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x9ab78595
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
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 + 0x7c]
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], 0xd541fb21
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x99b0c0b1
setl cl
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9ab78595
sete cl
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x12c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9ab78595
setl cl
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb98e6a0f
setl cl
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x7c]
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 + 0x3c]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4206166
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x21c]
mov edx, dword [esp + 0x220]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x5c]
mov al, byte [esp + 0x58]
mov byte [esp + 0x60], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x53
xor eax, 0x28
mov byte [esp + 0x64], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x63
xor eax, 0x29
mov byte [esp + 0x65], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0x2a
mov byte [esp + 0x66], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0x2b
mov byte [esp + 0x67], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0x2c
mov byte [esp + 0x68], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6e
xor eax, 0x2d
mov byte [esp + 0x69], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x2e
xor eax, 0x2e
mov byte [esp + 0x6a], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x70
xor eax, 0x2f
mov byte [esp + 0x6b], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6e
xor eax, 0x30
mov byte [esp + 0x6c], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x67
xor eax, 0x31
mov byte [esp + 0x6d], al
mov dword [esp], 0xdea72028
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x32
mov byte [esp + 0x6e], al
mov eax, 0xb
mov byte [esp + eax + 0x64], 0
add eax, 1
cmp eax, 0xd
jne 0x42602c
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 0xd
jae 0x426076
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
movzx ecx, byte [esp + ecx + 0x64]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431cd0
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 0x64], al
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
jmp 0x426041
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
lea eax, [esp + 0x64]
mov dword [esp], eax
mov ecx, esi
call fcn.0040a340
sub esp, 0xc
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
test eax, eax
mov eax, 0x7db251a0
je 0x4260ad
mov eax, 0xfd1f784e
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov al, byte [esp + 0x33]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xead86d5d
setl cl
mov dword [esp + 0x2b4], ecx
mov ecx, dword [esp + 0x2b8]
mov edx, dword [esp + 0x2b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x98a205f2
setl cl
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x52232b1d
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb3d7bbdf
sete cl
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf40b2c
setl cl
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x408]
mov edx, dword [esp + 0x404]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x12dcebd1
sete cl
mov dword [esp + 0x2ec], ecx
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x527d4d12
sete cl
mov dword [esp + 0x38c], ecx
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x344f85e1
sete cl
mov dword [esp + 0x33c], ecx
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x22]
mov byte [esp + 0x24], al
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x250a111
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
push 0xc3ab0610
mov ch, 0x40
pop eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb3d7bbdf
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9ca9f335
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x26a3f4de
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x21]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x58999540
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x34]
mov ecx, dword [esi + edi*4]
mov ebx, ecx
not ebx
mov edx, ecx
and edx, 0xff0000
shr edx, 0x10
or ebx, 0x4a00f0
and ebx, 0xb4aa5f0
mov eax, ecx
and eax, 0xf4005a00
or ebx, eax
xor edx, ebx
xor edx, 0xb4aa5f0
movzx eax, cl
shl eax, 0x10
or edx, eax
mov dword [esi + edi*4], edx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xead86d5d
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x879a2e9
sete cl
mov dword [esp + 0x2e4], ecx
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xe21d1cfc
sete cl
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa8e7c35b
setl cl
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x23489289
sete cl
mov dword [esp + 0x314], ecx
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe21d1cfc
setl cl
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x25c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xf1c2d935
sete cl
mov dword [esp + 0x29c], ecx
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1e383103
setl cl
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x26a3f4de
setl cl
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x328]
mov edx, dword [esp + 0x324]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x655a3f27
setl cl
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x40afa917
sete cl
mov dword [esp + 0x36c], ecx
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x26]
test al, al
mov eax, 0x5652fc37
jne 0x426be1
mov eax, 0xe21d1cfc
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa07b08c7
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa07b08c7
sete cl
mov dword [esp + 0x1dc], ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, 0x583a38fd
jl 0x426c65
mov eax, 0xd2d60c0c
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf139d6cf
sete cl
mov dword [esp + 0x294], ecx
mov eax, dword [esp + 0x298]
add al, byte [eax]
add byte [ebx + 0x2982484], cl
add byte [eax], al
mov ecx, dword [esp + 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5652fc37
sete cl
mov dword [esp + 0x3ac], ecx
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3ac]
mov eax, dword [eax + ecx*4]
jmp eax
cmp al, 0x3a
push 0x38
jp 0x426c8c
xor edx, ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x23489289
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub ecx, eax
setl byte [esp + 0x27]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x88611741
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe69ad7a7
setl cl
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf1c2d935
mov al, byte [esp + 0x24]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x2b45a968
sete cl
mov dword [esp + 0x32c], ecx
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x32c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb3d7bbdf
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
imul ecx, edx
imul eax, ecx
mov ecx, dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2b45a968
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x879a2e9
setl cl
mov dword [esp + 0x30c], ecx
mov ecx, dword [esp + 0x310]
mov edx, dword [esp + 0x30c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9426de8e
setl cl
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xf40b2c
sete cl
mov dword [esp + 0x2cc], ecx
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x26a3f4de
sete cl
mov dword [esp + 0x31c], ecx
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa8e7c35b
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x668a3994
setl cl
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x3e0]
mov edx, dword [esp + 0x3dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x27]
test al, al
mov eax, 0xce54dade
jne 0x426ee6
mov eax, 0x9426de8e
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xce54dade
sete cl
mov dword [esp + 0x22c], ecx
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x52232b1d
setl cl
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3a0]
mov edx, dword [esp + 0x39c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc8478db0
setl cl
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x214]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1e383103
sete cl
mov dword [esp + 0x2f4], ecx
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf139d6cf
setl cl
mov dword [esp + 0x2ac], ecx
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0x2ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xe69ad7a7
sete cl
mov dword [esp + 0x27c], ecx
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x27c]
mov eax, dword [eax + ecx*4]
jmp eax
test dword [ebx + 0x36], esp
dec ebp
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x250a111
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb3d7bbdf
setl cl
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x21c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xce54dade
setl cl
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x23489289
setl cl
mov dword [esp + 0x35c], ecx
mov ecx, dword [esp + 0x360]
mov edx, dword [esp + 0x35c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x480]
mov dword [ecx], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x47c]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xe21d1cfc
mov byte [esp + 0x22], 1
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x43c], 0
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
shr ecx, 3
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
imul eax, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
not edx
mov esi, eax
and esi, edx
mov edi, eax
or edi, edx
not edi
imul edi, esi
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, edi
mov dword [esp], eax
call fcn.00409a50
mov dword [esp + 0x28], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
sub esp, 4
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
lea esi, [esp + 0x424]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebp
mov dword [esp], edx
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov eax, dword [sym.imp.GDI32.dll_GetDIBits]
call eax
sub esp, 0x1c
test eax, eax
mov eax, 0xe69ad7a7
jne 0x427189
mov eax, 0xf1c2d935
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x21], 0
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa07b08c7
setl cl
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x228]
mov edx, dword [esp + 0x224]
mov ecx, dword [ecx + edx*4]
jmp ecx
test dword [edi], 0x448ba37f
and al, 0x1c
mov dword [eax], 0x527d4d12
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xca6691f1
sete cl
mov dword [esp + 0x204], ecx
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x204]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xdb885b10
setl cl
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x58999540
setl cl
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3f0]
mov edx, dword [esp + 0x3ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2b45a968
mov eax, dword [esp + 0x414]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x88611741
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xca6691f1
setl cl
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x210]
mov edx, dword [esp + 0x20c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x668a3994
sete cl
mov dword [esp + 0x3d4], ecx
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe24199bb
setl cl
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xe24199bb
sete cl
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0xc8478db0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc8478db0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa8e7c35b
sete cl
mov dword [esp + 0x1e4], ecx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x5c]
neg eax
mov dword [esp + 0x42c], eax
mov word [esp + 0x430], 1
mov ax, word [esp + 0x45e]
mov word [esp + 0x432], ax
mov dword [esp + 0x434], 0
mov dword [esp + 0x438], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa8e7c35b
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf1c2d935
setl cl
mov dword [esp + 0x2a4], ecx
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x23489289
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x12dcebd1
setl cl
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x308]
mov edx, dword [esp + 0x304]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x250a111
sete cl
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x39323c90
sete cl
mov dword [esp + 0x364], ecx
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x364]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x250a111
setl cl
mov dword [esp + 0x2dc], ecx
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x2b45a968
setl cl
mov dword [esp + 0x354], ecx
mov ecx, dword [esp + 0x358]
mov edx, dword [esp + 0x354]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9426de8e
sete cl
mov dword [esp + 0x1ac], ecx
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x25]
and al, 1
movzx eax, al
add esp, 0x464
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov edx, eax
sub edx, 0x344f85e1
setl cl
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x344]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x5c]
neg eax
mov dword [esp + 0x42c], eax
mov word [esp + 0x430], 1
mov ax, word [esp + 0x45e]
lea ecx, [esp + 0x432]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x58]
mov word [ecx], ax
mov dword [esp + 0x434], 0
mov dword [esp + 0x438], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x655a3f27
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x180]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xead86d5d
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x527d4d12
setl cl
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x394]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x31f8b298
setl cl
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x350]
mov edx, dword [esp + 0x34c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x58999540
sete cl
mov dword [esp + 0x3c4], ecx
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x428], eax
lea eax, [esp + 0x454]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf40b2c
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9ca9f335
setl cl
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40c]
mov edx, dword [esp + 0x410]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x52232b1d
sete cl
mov dword [esp + 0x384], ecx
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x384]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x448deb4d
setl cl
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x3a8]
mov edx, dword [esp + 0x3a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd2d60c0c
setl cl
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x23c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x655a3f27
sete cl
mov dword [esp + 0x3cc], ecx
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf139d6cf
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xead86d5d
sete cl
mov dword [esp + 0x28c], ecx
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x424], 0x28
lea eax, [esp + 0x450]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x879a2e9
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov eax, dword [ecx + eax*4]
jmp eax
aad 0xd5
sub ch, byte [ebp - 0x75]
inc esp
and al, 0x28
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa07b08c7
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xdb885b10
sete cl
mov dword [esp + 0x24c], ecx
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x39323c90
setl cl
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x3fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x5652fc37
setl cl
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x3f8]
mov edx, dword [esp + 0x3f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [eax + ecx*4]
mov edx, ebx
and edx, 0xff00ff00
mov esi, ebx
and esi, 0xff0000
shr esi, 0x10
or edx, esi
movzx esi, bl
shl esi, 0x10
not edx
not esi
and edx, esi
not edx
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd976bc4a
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd976bc4a
sete cl
mov dword [esp + 0x244], ecx
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9ca9f335
sete cl
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x527d4d12
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x448deb4d
sete cl
mov dword [esp + 0x37c], ecx
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x98a205f2
sete cl
mov dword [esp + 0x1bc], ecx
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x40afa917
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x583a38fd
setl cl
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov edx, dword [esp + 0x3bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x50]
test eax, eax
setne byte [esp + 0x26]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1e383103
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc8478db0
sete cl
mov dword [esp + 0x1fc], ecx
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd976bc4a
setl cl
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
lea edi, [esp + 0x60]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00405d00
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x668a3994
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov al, byte [esp + 0x23]
and al, 1
mov byte [esp + 0x25], al
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x98a205f2
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x31f8b298
sete cl
mov dword [esp + 0x334], ecx
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x334]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x583a38fd
sete cl
mov dword [esp + 0x3b4], ecx
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xd2d60c0c
sete cl
mov dword [esp + 0x234], ecx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x234]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x40afa917
setl cl
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x378]
mov edx, dword [esp + 0x374]
mov ecx, dword [ecx + edx*4]
jmp ecx
jmp 0x428103
mov dword [esi + 4], edi
movzx edi, word [eax]
test di, di
je 0x4280d5
mov dword [esi + 0xc], eax
mov edx, eax
add edx, 2
xor ecx, ecx
jmp 0x427f9f
mov ecx, eax
add ecx, ebx
movzx edi, word [edx]
add edx, 2
test di, di
je 0x427fc3
mov eax, ecx
movzx ecx, di
cmp ecx, 0x800
mov edi, 3
sbb edi, 0
mov ebx, 1
cmp ecx, 0x80
jb 0x427f90
mov ebx, edi
jmp 0x427f90
mov edx, dword [esi + 0xc]
lea eax, [ecx + 4]
and eax, 0xfffffffc
call fcn.00409a20
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x4280dd
lea edi, [eax + ecx]
mov dword [esi + 0x68], edi
inc ecx
add ecx, eax
mov edi, eax
mov dword [esi + 0xa4], ecx
jmp 0x428018
mov byte [edi], bl
mov dword [esi + 8], 1
add edx, 2
add edi, dword [esi + 8]
cmp edi, dword [esi + 0x68]
jae 0x4280df
movzx ebx, word [edx]
test bx, bx
je 0x4280df
cmp bx, 0x7f
jbe 0x428000
mov dword [esi + 0xc], edx
mov dword [esi + 0x6c], edi
mov edx, edi
not edx
add edx, ecx
movzx edi, bx
mov dword [esi + 0x10], edi
cmp edx, 2
jb 0x428080
cmp dword [esi + 0x10], 0x7ff
ja 0x428080
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edi, dword [esi + 0x6c]
mov byte [edi], cl
mov ecx, dword [esi + 0xa4]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov dword [esi + 8], 2
mov edx, dword [esi + 0xc]
jmp 0x428009
mov dword [esi + 8], 0
cmp edx, 3
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x6c]
jb 0x428009
mov ecx, dword [esi + 0x10]
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, dword [esi + 0x10]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov ecx, ebx
xor ecx, 0xc0
or ebx, 0x3f
and ebx, ecx
mov ecx, dword [esi + 0xa4]
add bl, 0x80
mov byte [edi + 2], bl
mov dword [esi + 8], 3
jmp 0x428009
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4280fd
inc eax
mov edi, dword [esi + 4]
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4280f0
jmp 0x428100
mov edi, dword [esi + 4]
mov byte [edi], 0
mov byte [edi], 0xa
inc edi
lea eax, [esi + 0x1ec]
push eax
call fcn.0042ac60
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x447c5c]
jmp 0x4282b0
mov dword [esi + 4], edi
jmp dword [0x447c68]
mov byte [esi + 0x3a], 0
test dx, dx
je 0x428186
lea eax, [esi + 0x3a]
movsx ecx, dx
sar ecx, 0xf
mov dword [esi + 8], edx
xor edx, ecx
sub edx, ecx
cmp dx, 0x64
jb 0x428191
nop
nop
nop
movzx edi, dx
mov dword [esi + 4], edi
shr edi, 2
imul edi, edi, 0x147b
shr edi, 0x11
imul ecx, edi, 0x64
sub edx, ecx
movzx ecx, dx
movzx ecx, word [ecx + ecx + 0x442318]
mov word [eax - 2], cx
add eax, 0xfffffffe
mov edx, edi
cmp dword [esi + 4], 0x270f
ja 0x428150
jmp 0x428193
lea eax, [esi + 0x39]
mov byte [esi + 0x39], 0x30
mov dl, 0x30
jmp 0x4281db
mov edi, edx
movzx ecx, di
cmp cx, 9
ja 0x4281b7
movzx edx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
cmp word [esi + 8], 0
jns 0x4281d7
mov byte [eax - 1], 0x2d
dec eax
mov dl, 0x2d
jmp 0x4281db
movzx edx, byte [ecx + ecx + 0x442319]
mov byte [eax - 1], dl
movzx edx, byte [ecx + ecx + 0x442318]
mov byte [eax - 2], dl
add eax, 0xfffffffe
cmp word [esi + 8], 0
js 0x4281ae
test dl, dl
je 0x4281eb
inc eax
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x4281e0
mov byte [ebx], 0
mov dword [esi + 0x5f0], 0xe3c5d9b9
mov dword [esi + 0x5f4], 0x1f0d0f09
mov dword [esi + 0x5f8], 0xf6dd0003
mov dword [esi + 0x5fc], 0xf8140412
mov dword [esi + 0x600], 0xb4d7
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x13
ja 0x428262
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x52d86b0d
xor eax, ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
add al, 0x56
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x14
jb 0x428230
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x42828b
lea ecx, [esi + 0x5f1]
nop
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 0x428280
mov byte [ebx], 0
movzx eax, byte [esi + 0x216]
test al, al
je 0x4282ab
lea ecx, [esi + 0x217]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4282a0
mov byte [ebx], 0
mov edi, ebx
mov eax, dword [esi + 0x1fc]
test eax, eax
je 0x4282c3
push eax
call fcn.00409a60
add esp, 4
call fcn.004366f0
movzx eax, al
jmp dword [eax*4 + 0x447c9c]
mov dword [esi + 0x5f0], 0x574fbb47
mov dword [esi + 0x5f4], 0xd44a
mov byte [esi + 0x5f8], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 8
ja 0x428404
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x5f0]
lea edx, [eax + 0x44]
add eax, ecx
not ecx
or edx, ecx
sub ecx, edx
lea eax, [eax + ecx*2]
add eax, 0xea452144
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
add al, 0x63
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 9
jb 0x428310
jmp 0x428404
mov dword [esi + 0x5f0], 0x2d3cc6c5
mov byte [esi + 0x5f4], 0xc5
mov dword [esi + 0x5f5], 0
mov word [esi + 0x5f9], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
ja 0x428404
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x3b5e25fe
xor eax, ecx
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
mov ecx, eax
xor ecx, 0xc7
and eax, 0x38
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xb
jb 0x4283b0
lea eax, [esi + 0x5f0]
mov dword [esi + 0x1ec], 0xee36284e
mov dword [esi + 0x1f0], 0xe1c0c14
mov dword [esi + 0x1f4], 0xeb0a0818
mov dword [esi + 0x1f8], 0xa3c0
mov byte [esi + 0x1fc], 0
mov dword [esi + 0xdc], 0
mov ecx, dword [esi + 0xdc]
cmp ecx, 0x10
ja 0x428499
nop
nop
mov ecx, dword [esi + 0xdc]
mov edx, dword [esi + 0xdc]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0x4e78f3fd
xor ecx, edx
mov dword [esi + 0x7f0], ecx
mov ecx, dword [esi + 0x7f0]
add cl, 0x57
mov edx, dword [esi + 0xdc]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0xdc]
mov ecx, dword [esi + 0xdc]
cmp ecx, 0x11
jb 0x428450
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x4284bb
lea edx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4284b0
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4284db
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 0x4284d0
mov byte [edi], 0
mov byte [esi + 0xcc], 0
mov dword [esi + 0xc4], 0x10
push 0x4cbcd57b
push dword [0x44ab8c]
call fcn.0043e4e0
add esp, 8
lea ecx, [esi + 0xc4]
lea edx, [esi + 0xcc]
push ecx
push edx
call eax
mov dword [esi + 0x1ec], 0x99b9b55d
mov dword [esi + 0x1f0], 0xebedf1f4
mov dword [esi + 0x1f4], 0xd89385eb
mov word [esi + 0x1f8], 0x24c3
mov dword [esi + 0x1fa], 0
mov word [esi + 0x1fe], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0x13
ja 0x4285b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x66882b7
xor eax, ecx
mov dword [esi + 0x5f0], eax
mov eax, dword [esi + 0x5f0]
add al, 0x20
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0x14
jb 0x428570
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4285db
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285d0
mov byte [edi], 0
movzx eax, byte [esi + 0xcc]
test al, al
je 0x4285fb
lea ecx, [esi + 0xcd]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285f0
mov ebx, edi
mov byte [edi], 0
mov dword [esi + 0x7f0], 0
mov dword [esi + 0x7f4], 0
mov eax, dword [0x449880]
mov dword [esi + 0x1ec], 0xc86fca64
mov dword [esi + 0x1f0], 0xcc6ece73
mov dword [esi + 0x1f4], 0xd07ad27d
mov dword [esi + 0x1f8], 0xd421d626
mov dword [esi + 0x1fc], 0xd87fda27
mov dword [esi + 0x200], 0xdc73de75
mov word [esi + 0x204], 0xa2dd
mov dword [esi + 0x206], 0
mov word [esi + 0x20a], 0
mov dword [esi + 0xdc], 0
mov ecx, dword [esi + 0xdc]
cmp ecx, 0x1f
ja 0x4286e2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xdc]
mov edx, dword [esi + 0xdc]
movzx edx, byte [esi + edx + 0x1ec]
lea edi, [ecx + 0x27]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0x13ccfb27
mov dword [esi + 0x5f0], ecx
mov ecx, dword [esi + 0x5f0]
add cl, 0x1e
mov edx, dword [esi + 0xdc]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0xdc]
mov ecx, dword [esi + 0xdc]
cmp ecx, 0x20
jb 0x428690
push 0x800
push 0
lea ecx, [esi + 0x1ec]
push ecx
call eax
lea ecx, [esi + 0x7f0]
push eax
call fcn.0043c120
movzx eax, al
mov edi, ebx
jmp dword [eax*4 + 0x447ca4]
jmp dword [0x447cac]
jmp dword [0x447cf4]
mov ecx, dword [esi + 8]
mov edi, ecx
mov ebx, edx
call fcn.00431640
push edi
call fcn.00409a60
mov edx, ebx
add esp, 4
jmp 0x42900e
jmp 0x42900e
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x447cec]
lea edi, [esi + 0x1f6]
mov dword [edx], 0x202d090a
add edx, 4
mov eax, ebx
mov ebx, edx
mov dword [esi + 4], eax
mov edx, dword [eax + 8]
movzx ecx, byte [edx]
test cl, cl
je 0x42878b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428780
mov byte [ebx], 0
xor eax, eax
mov ecx, dword [esi + 4]
cmp byte [ecx + 4], 3
setb al
mov edx, ebx
jmp dword [eax*4 + 0x447cc4]
mov byte [edx], 0x20
mov ecx, edx
inc ecx
mov eax, dword [esi + 4]
movzx eax, byte [eax + 4]
xor edx, edx
test al, al
sete dl
jmp dword [edx*4 + 0x447ccc]
xor edx, edx
cmp al, 1
sete dl
jmp dword [edx*4 + 0x447cd4]
mov dword [esi + 0x1ec], 0x7b75717a
mov dword [esi + 0x1f0], 0x6462747a
mov word [esi + 0x1f4], 0x2a8c
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xe
ja 0x42884f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edi, byte [esi + edx + 0x1ec]
lea edx, [eax + edi]
add eax, 0x85
and eax, edi
add eax, eax
sub edx, eax
add edx, 0x261cc885
mov dword [esi + 0x70], edx
mov eax, dword [esi + 0x70]
add al, 0x5c
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1ec], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xf
jb 0x428810
lea edi, [esi + 0x1ec]
jmp dword [0x447cdc]
mov dword [esi + 0xdc], 0x83829895
mov word [esi + 0xe0], 0xcf93
mov dword [esi + 0xe2], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 9
ja 0x4288ce
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0xdc]
add eax, 0x13710ec8
xor eax, edx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov edx, eax
not edx
and edx, 2
and eax, 0xfd
sub eax, edx
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0xdc], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0xa
jb 0x428890
lea edi, [esi + 0xdc]
jmp dword [0x447cdc]
mov dword [esi + 0x34], 0x3c32303d
mov byte [esi + 0x38], 0x46
mov dword [esi + 0x39], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 8
ja 0x428936
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x34]
add eax, 0x92c49050
xor eax, edx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov edx, eax
xor edx, 0x12
and eax, 0x6d
add eax, eax
sub eax, edx
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x34], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 9
jb 0x428900
lea edi, [esi + 0x34]
jmp dword [0x447cdc]
movzx ebx, byte [edi]
mov edx, ecx
test bl, bl
je 0x42895b
lea eax, [edi + 1]
mov edx, ecx
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x428950
mov byte [edx], 0
jmp case.0x428703.14
mov byte [edx], 0
jmp dword [0x447ce4]
movzx ebx, byte [edi]
mov edx, ecx
test bl, bl
je 0x428960
lea eax, [edi + 1]
mov edx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x428980
jmp 0x428960
push 0x6ead8a84
push dword [0x44ab8c]
call fcn.0043e4e0
add esp, 8
mov ebx, eax
mov byte [esi + 0x5f0], 0
mov dword [esi + 0xc0], 0x200
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x5f0]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x1ec], 0x25405e7c
mov dword [esi + 0x1f0], 0x1c051a15
mov dword [esi + 0x1f4], 0x79583508
mov dword [esi + 0x1f8], 0
mov dword [esi + 0xdc], 0
mov eax, dword [esi + 0xdc]
cmp eax, 0xf
ja 0x428a57
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xdc]
mov ecx, dword [esi + 0xdc]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x57200868
xor eax, ecx
mov dword [esi + 0x7f0], eax
mov eax, dword [esi + 0x7f0]
add al, 0xf6
mov ecx, dword [esi + 0xdc]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0xdc]
mov eax, dword [esi + 0xdc]
cmp eax, 0x10
jb 0x428a10
movzx eax, byte [esi + 0x1ec]
test al, al
mov edx, edi
je 0x428a7b
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428a70
mov byte [edx], 0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x428a9b
lea ecx, [esi + 0x5f1]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428a90
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x7f0], 0
mov dword [esi + 0xbc], 0x200
lea eax, [esi + 0xbc]
push eax
lea eax, [esi + 0x7f0]
push eax
push 5
call ebx
mov dword [esi + 0x1ec], 0x5c4b7f23
mov dword [esi + 0x1f0], 0x868b8582
mov dword [esi + 0x1f4], 0x46be87b0
mov word [esi + 0x1f8], 0x1e7d
mov dword [esi + 0x1fa], 0
mov word [esi + 0x1fe], 0
mov dword [esi + 0x534], 0
mov eax, dword [esi + 0x534]
cmp eax, 0x13
ja 0x428b74
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x534]
mov ecx, dword [esi + 0x534]
movzx edx, byte [esi + ecx + 0x1ec]
lea ecx, [eax + edx]
add eax, 0x9d
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0xa58be99d
mov dword [esi + 0xdc], ecx
mov eax, dword [esi + 0xdc]
add al, 0x4c
mov ecx, dword [esi + 0x534]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x534]
mov eax, dword [esi + 0x534]
cmp eax, 0x14
jb 0x428b20
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x428b9d
lea ecx, [esi + 0x1ed]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428b90
jmp 0x428b9f
mov edx, edi
mov byte [edx], 0
movzx eax, byte [esi + 0x7f0]
test al, al
je 0x428bcb
lea ecx, [esi + 0x7f1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428bc0
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x5e0], 0
mov dword [esi + 0xb8], 0x10
lea eax, [esi + 0xb8]
lea ecx, [esi + 0x5e0]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x1ec], 0xc9bea896
mov dword [esi + 0x1f0], 0xd2d8e5f5
mov dword [esi + 0x1f4], 0x879cf6f3
mov byte [esi + 0x1f8], 0xa0
mov word [esi + 0x1f9], 0
mov byte [esi + 0x1fb], 0
mov dword [esi + 0x534], 0
mov eax, dword [esi + 0x534]
cmp eax, 0xf
ja 0x428c93
nop
nop
nop
mov eax, dword [esi + 0x534]
mov ecx, dword [esi + 0x534]
movzx ecx, byte [esi + ecx + 0x1ec]
lea edx, [eax + 0x98]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x20727d98
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0xfc
mov ecx, dword [esi + 0x534]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x534]
mov eax, dword [esi + 0x534]
cmp eax, 0x10
jb 0x428c40
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x428cbd
lea ecx, [esi + 0x1ed]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428cb0
jmp 0x428cbf
mov edx, edi
mov byte [edx], 0
movzx eax, byte [esi + 0x5e0]
test al, al
je 0x428ceb
lea ecx, [esi + 0x5e1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428ce0
mov edi, edx
mov byte [edx], 0
mov word [esi + 0x534], 0
push 0x9887397f
push dword [0x44ab8c]
call fcn.0043e4e0
add esp, 8
lea ebx, [esi + 0x534]
push 0x56
push ebx
call eax
mov dword [esi + 0x1ec], 0xd3e2856
mov dword [esi + 0x1f0], 0x1af3edfb
mov dword [esi + 0x1f4], 0xdb090e07
mov dword [esi + 0x1f8], 0xa3c0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xf
ja 0x428d91
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1ec]
lea edx, [eax + 0x79]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x2883ba79
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0xdb
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x428d50
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x428dbd
lea ecx, [esi + 0x1ed]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428db0
jmp 0x428dbf
mov edx, edi
mov byte [edx], 0
lea eax, [edx + 0x56]
mov dword [esi + 0xc], eax
xor ecx, ecx
mov edi, edx
mov dword [esi + 8], edx
jmp 0x428dfb
mov byte [edi], bl
mov eax, 1
add ecx, eax
mov ebx, dword [esi + 4]
add ebx, 2
lea edi, [edx + ecx]
cmp ecx, 0x55
jae 0x428e80
mov dword [esi + 4], ebx
movzx ebx, word [ebx]
test bx, bx
je 0x428e80
cmp bx, 0x7f
jbe 0x428de0
mov edx, edi
not edx
add edx, dword [esi + 0xc]
movzx eax, bx
cmp edx, 2
jb 0x428e40
cmp eax, 0x7ff
ja 0x428e40
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov eax, 2
mov edx, dword [esi + 8]
jmp 0x428de7
mov dword [esi + 0x10], eax
xor eax, eax
cmp edx, 3
mov edx, dword [esi + 8]
jb 0x428de7
mov eax, dword [esi + 0x10]
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, dword [esi + 0x10]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
mov eax, ebx
xor eax, 0xc0
or ebx, 0x3f
and ebx, eax
add bl, 0x80
mov byte [edi + 2], bl
mov eax, 3
jmp 0x428de7
mov byte [edi], 0
mov ecx, edi
not ecx
and ecx, edx
mov eax, edx
not eax
and eax, edi
sub eax, ecx
mov dword [esi + 0x1ec], 0x17313d5d
mov dword [esi + 0x1f0], 0x3afce0e5
mov dword [esi + 0x1f4], 0xebeff101
mov word [esi + 0x1f8], 0x22e8
mov byte [esi + 0x1fa], 0x5d
mov dword [esi + 0x1fb], 0
mov byte [esi + 0x1ff], 0
mov dword [esi + 0x34], 0
mov ecx, dword [esi + 0x34]
cmp ecx, 0x13
ja 0x428f26
nop
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x34]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0x164d3c71
xor ecx, edx
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0xdc]
mov edx, ecx
not edx
and edx, 0x22
and ecx, 0xdd
sub ecx, edx
mov edx, dword [esi + 0x34]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
cmp ecx, 0x14
jb 0x428ee0
mov edx, dword [esi + 8]
add edx, eax
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x428f4b
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428f40
mov byte [edx], 0
mov edi, edx
call fcn.0042e820
mov edx, edi
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 8], eax
mov ebx, eax
jmp dword [ecx*4 + 0x447cbc]
mov dword [esi + 0x1ec], 0xa086d69
mov dword [esi + 0x1f0], 0xcbdbdb39
mov byte [esi + 0x1f4], 0x6f
mov dword [esi + 0x1f5], 0
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xf
ja 0x428fe8
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x15942bc5
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0x5e
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x428fb0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x42900b
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429000
mov byte [edx], 0
mov dword [esi + 0x1ec], 0xa18698fe
mov dword [esi + 0x1f0], 0xb7bea051
mov word [esi + 0x1f4], 0xff9c
mov dword [esi + 0x1f6], 0
mov byte [esi + 0x1fa], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xe
ja 0x429088
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x490f444d
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0x57
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0xf
jb 0x429050
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4290ab
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4290a0
mov byte [edx], 0
movzx eax, byte [0x449824]
test al, al
je 0x4290d1
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edx + ecx], al
movzx eax, byte [ecx + 0x449825]
inc ecx
test al, al
jne 0x4290c0
add edx, ecx
mov dword [esi + 8], edx
mov byte [edx], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0xa8], 0
push 0xd7ec7170
push dword [0x44ab8c]
call fcn.0043e4e0
add esp, 8
lea ecx, [esi + 0xa8]
push ecx
call eax
mov eax, dword [esi + 0xa8]
mov ebx, dword [esi + 0xac]
shld ebx, eax, 0x16
mov byte [esi + 0x1d3], 0
je 0x42916e
lea edi, [esi + 0x1d3]
cmp ebx, 0x64
jb 0x42917d
nop
nop
nop
nop
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x429130
cmp edx, 9
ja 0x429184
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x4291a9
lea edi, [esi + 0x1d2]
mov byte [esi + 0x1d2], 0x30
jmp 0x4291a9
mov edx, ebx
cmp edx, 9
jbe 0x429161
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov word [esi + 0xdc], 0xeef2
mov byte [esi + 0xde], 0xaf
mov dword [esi + 0xdf], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 6
ja 0x429218
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0xdc]
add eax, 0x4ab46e24
xor eax, ecx
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
add al, 0x77
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0xdc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 7
jb 0x4291e0
mov dword [esi + 0x1ec], 0xcff2e49a
mov dword [esi + 0x1f0], 0xc4fec8df
mov dword [esi + 0x1f4], 0x9f352133
mov dword [esi + 0x1f8], 0xe784
mov byte [esi + 0x1fc], 0
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x70]
cmp eax, 0x10
ja 0x4292a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
movzx ecx, byte [esi + ecx + 0x1ec]
lea edx, [eax + ecx]
add edx, 0x2955f035
add eax, 0x2955f035
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x5b
mov ecx, dword [esi + 0x70]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
cmp eax, 0x11
jb 0x429260
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4292cd
lea ecx, [esi + 0x1ed]
mov edx, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4292c0
jmp 0x4292d0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x4292eb
inc edi
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4292e0
mov byte [edx], 0
movzx eax, byte [esi + 0xdc]
test al, al
je 0x42930b
lea ecx, [esi + 0xdd]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429300
xor eax, eax
xor ecx, ecx
mov edi, edx
cpuid
mov dword [esi + 0x1b8], ebx
mov dword [esi + 0x1bc], edx
mov edx, edi
mov byte [edi], 0
mov dword [esi + 0x1c0], ecx
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1ec], 0x745e6836
mov dword [esi + 0x1f0], 0x9b5a8488
mov dword [esi + 0x1f4], 0xb08ab18b
mov dword [esi + 0x1f8], 0x2d4279b2
mov word [esi + 0x1fc], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0x11
ja 0x4293b8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xa9e1df09
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0xcb
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x12
jb 0x429380
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4293db
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4293d0
mov byte [edx], 0
movzx eax, byte [esi + 0x1b8]
test al, al
je 0x4293fb
lea ecx, [esi + 0x1b9]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4293f0
mov dword [esi + 8], edx
mov byte [edx], 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 edx, [esi + 0xa0]
lea eax, [esi + 0x70]
lea ebx, [esi + 0x34]
mov edi, eax
mov ecx, 0xc
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x64]
xor ecx, ecx
mov edi, edx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
dec ecx
xor ebx, ebx
cmp byte [edx - 1], 0x20
sete bl
jmp dword [ebx*4 + 0x447cfc]
mov byte [ecx], 0
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x447cfc]
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x447d04]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x447d04]
mov dword [esi + 0x1ec], 0xe18595a9
mov dword [esi + 0x1f0], 0xfa89f1fb
mov dword [esi + 0x1f4], 0x92c6ddc8
mov dword [esi + 0x1f8], 0xb293
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0xf
ja 0x42953a
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0x1d65ec24
xor ecx, edx
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0xdc]
add cl, 0x7d
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x429500
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x42955d
lea edx, [esi + 0x1ed]
mov edi, dword [esi + 8]
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x429550
jmp 0x429560
mov edi, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
mov edx, edi
je 0x42957c
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x429570
mov byte [edx], 0
mov dword [esi + 0x1ec], 0xf8fbfafd
mov word [esi + 0x1f0], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 5
ja 0x4295e8
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 + 0x1ec]
add eax, 0xf9ff0a83
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0x81
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 6
jb 0x4295b0
mov eax, dword [esi + 0x1ec]
mov ecx, dword [0x44ab98]
test ecx, ecx
mov dword [esi + 8], edx
je case.default.0x42964b
xor edx, edx
mov edi, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xcecd21fd
je 0x429620
inc edx
cmp ecx, edx
jne 0x429610
jmp case.default.0x42964b
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x42964b
lea eax, [esi + 0x1ec]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447d0c]
mov dword [esi + 4], 0
jmp 0x429670
jmp dword [0x447d20]
movzx eax, byte [esi + 0x214]
mov dword [esi + 4], eax
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov eax, ecx
xor eax, 0xffffff00
or ecx, 0xff
and ecx, eax
xor eax, eax
cmp ecx, 1
sete al
jmp dword [eax*4 + 0x447d24]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x447d2c]
movzx edi, byte [esi + 4]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x429770
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x429740
mov dword [esi + 0xc], ebx
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x447d34]
mov eax, 0xb
mov ecx, 1
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x447d3c]
movzx edi, byte [esi + 4]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x4297ae
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
jmp case.0x42964b.18
xor eax, eax
mov ecx, dword [esi + 0xc]
test cx, cx
sete al
jmp dword [eax*4 + 0x447d44]
mov eax, edi
xor edx, edx
div cx
movzx eax, ax
jmp case.0x42964b.18
jmp dword [0x447d4c]
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x42964b.18
cmp dword [esi + 4], reloc.OLEAUT32.dll_VariantClear
jl case.0x42964b.18
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x4297ea
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x42964b.18
cmp dword [esi + 4], reloc.OLEAUT32.dll_VariantClear
jl case.0x42964b.18
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
mov eax, ecx
add eax, 0x101
jmp case.0x42964b.18
mov byte [esi + 0x1ec], 0
mov dword [esi + 0x34], 0x101
push 0x19cb8461
push dword [esi + 0x7f0]
call fcn.0043e4e0
add esp, 8
lea ecx, [esi + 0x34]
push ecx
lea ecx, [esi + 0x1ec]
push ecx
call eax
mov dword [esi + 0x5f0], 0xad61cfe
mov dword [esi + 0x5f4], 0x356c186b
mov dword [esi + 0x5f8], 0xf1d0
mov dword [esi + 0x534], 0
mov eax, dword [esi + 0x534]
cmp eax, 0xb
ja 0x4298b4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x534]
mov ecx, dword [esi + 0x534]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xb07cc51e
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
mov ecx, eax
xor ecx, 0xd6
and eax, 0x29
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x534]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x534]
mov eax, dword [esi + 0x534]
cmp eax, 0xc
jb 0x429860
movzx eax, byte [esi + 0x5f0]
mov edx, ebx
test al, al
je 0x4298db
mov edi, ebx
lea ecx, [esi + 0x5f1]
mov edx, ebx
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4298d0
mov byte [edx], 0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4298fb
lea ecx, [esi + 0x1ed]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4298f0
mov byte [edx], 0
push dword [esi + 0x7f0]
mov edi, edx
call dword [0x449984]
jmp dword [0x447cb4]
mov byte [esi + 0x1ec], 0
mov dword [esi + 0x34], 0x101
push 0x19cb8461
push dword [esi + 0x7f0]
call fcn.0043e4e0
add esp, 8
lea ecx, [esi + 0x34]
push ecx
lea ecx, [esi + 0x1ec]
push ecx
call eax
mov dword [esi + 0x5f0], 0xad61cfe
mov dword [esi + 0x5f4], 0x356c186b
mov dword [esi + 0x5f8], 0xf1d0
mov dword [esi + 0x534], 0
mov eax, dword [esi + 0x534]
cmp eax, 0xb
mov edi, ebx
ja 0x4299d4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x534]
mov ecx, dword [esi + 0x534]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xb07cc51e
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
mov ecx, eax
xor ecx, 0xd6
and eax, 0x29
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x534]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x534]
mov eax, dword [esi + 0x534]
cmp eax, 0xc
jb 0x429980
movzx ecx, byte [esi + 0x5f0]
mov eax, edi
test cl, cl
je 0x4299fb
lea edx, [esi + 0x5f1]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4299f0
mov byte [eax], 0
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x429a1b
lea edx, [esi + 0x1ed]
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x429a10
mov byte [eax], 0
push dword [esi + 0x7f0]
call dword [0x449984]
jmp case.0x428703.2
inc ebx
movzx eax, al
jmp dword [eax*4 + 0x447c74]
jmp 0x429b3e
mov byte [ebx], 0x20
inc ebx
mov eax, dword [esi + 0xcc]
jmp dword [0x447c80]
nop
jmp dword [0x447c88]
xor ecx, ecx
cmp eax, 1
sete cl
jmp dword [ecx*4 + 0x447c8c]
mov dword [esi + 0x34], 0x8ac1fe3f
mov word [esi + 0x38], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 5
ja 0x429abc
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 + 0x34]
add eax, 0x56ee911d
xor eax, ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
add al, 0x56
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x34], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 6
jb 0x429a90
lea eax, [esi + 0x34]
jmp case.0x4239fb.226
mov dword [esi + 0x5f0], 0xb86d6d2d
mov word [esi + 0x5f4], 0
mov byte [esi + 0x5f6], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 6
ja 0x429b22
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x94558247
xor eax, ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
add al, 0xe
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 7
jb 0x429af0
lea eax, [esi + 0x5f0]
movzx ecx, byte [eax]
test cl, cl
je 0x429b3b
inc eax
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x429b30
mov byte [ebx], 0
mov dword [esi + 0x5f0], 0xe30e0426
mov dword [esi + 0x5f4], 0x3f33cabf
mov dword [esi + 0x5f8], 0x433715f0
mov dword [esi + 0x5fc], 0xdbfa0b31
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x70]
cmp eax, 0xf
ja 0x429bb2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x92fb377a
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0xae
mov ecx, dword [esi + 0x70]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
cmp eax, 0x10
jb 0x429b80
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x429bdb
lea ecx, [esi + 0x5f1]
nop
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 0x429bd0
mov byte [ebx], 0
movzx eax, byte [esi + 0x200]
test al, al
je 0x429bfb
lea ecx, [esi + 0x201]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429bf0
mov byte [ebx], 0
mov dword [esi + 0x5f0], 0xbbced0f6
mov dword [esi + 0x5f4], 0xc3879c99
mov dword [esi + 0x5f8], 0x82989a8e
mov dword [esi + 0x5fc], 0xafafd9b2
mov word [esi + 0x600], 0xfdbf
mov dword [esi + 0x602], 0
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x70]
cmp eax, 0x15
ja 0x429c82
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x40017a64
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x78
mov ecx, dword [esi + 0x70]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
cmp eax, 0x16
jb 0x429c50
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x429cab
lea ecx, [esi + 0x5f1]
nop
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 0x429ca0
mov byte [ebx], 0
movzx edx, word [esi + 0x214]
xor eax, eax
test dx, dx
setns al
jmp dword [eax*4 + 0x447c94]
mov byte [ebx], 0x2b
inc ebx
movzx edx, word [esi + 0x214]
jmp case.0x4239fb.229
lea eax, [esi + 0x1f0]
push 0x344
push 0
push eax
call fcn.00409ad0
add esp, 0xc
mov dword [esi + 0x1ec], 0x348
push 0x3733e33b
push dword [esi + 0xb0]
call fcn.0043e4e0
add esp, 8
push 0
push ebx
push 0
push 0
call eax
lea eax, [esi + 0x230]
mov ecx, dword [esi + 8]
lea edx, [ecx + 0x80]
mov dword [esi + 0x68], edx
xor edx, edx
mov edi, ecx
jmp 0x429d4b
mov byte [edi], bl
mov edi, 1
add edx, edi
add eax, 2
mov ecx, dword [esi + 8]
lea edi, [ecx + edx]
cmp edx, 0x7f
jae 0x429de7
movzx ebx, word [eax]
test bx, bx
je 0x429de7
cmp bx, 0x7f
jbe 0x429d30
mov dword [esi + 0xc], eax
mov ecx, edi
not ecx
add ecx, dword [esi + 0x68]
movzx eax, bx
mov dword [esi + 4], eax
cmp ecx, 2
jb 0x429da0
cmp dword [esi + 4], 0x7ff
ja 0x429da0
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov edi, 2
mov eax, dword [esi + 0xc]
jmp 0x429d37
mov dword [esi + 0x10], edi
xor edi, edi
cmp ecx, 3
mov eax, dword [esi + 0xc]
jb 0x429d37
mov ecx, dword [esi + 4]
shr ecx, 0xc
or cl, 0xe0
mov edi, dword [esi + 0x10]
mov byte [edi], cl
mov ecx, dword [esi + 4]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov ecx, ebx
xor ecx, 0xc0
or ebx, 0x3f
and ebx, ecx
add bl, 0x80
mov byte [edi + 2], bl
mov edi, 3
jmp 0x429d37
mov byte [edi], 0
mov dword [esi + 0x10], edi
not edi
mov dword [esi + 4], edi
mov eax, dword [esi + 8]
not eax
mov dword [esi + 0x68], eax
lea edi, [esi + 0xdc]
push 0xdc
push 0
push edi
call fcn.00409ad0
add esp, 0xc
mov word [esi + 0x120], 0xdc
push 0x30be1b3b
push dword [esi + 0xb0]
call fcn.0043e4e0
add esp, 8
push edi
push 0xffffffffffffffff
push 0
call eax
mov ebx, dword [esi + 0x188]
mov byte [esi + 0x1eb], 0
test ebx, ebx
je 0x429e92
lea ecx, [esi + 0x1eb]
cmp ebx, 0x64
jb 0x429ea1
nop
mov eax, ebx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov edi, ecx
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov ecx, edi
mov word [edi - 2], ax
add ecx, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x429e50
cmp edx, 9
ja 0x429ea8
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x429eb7
lea ecx, [esi + 0x1ea]
mov byte [esi + 0x1ea], 0x30
jmp 0x429eb7
mov edx, ebx
cmp edx, 9
jbe 0x429e85
movzx eax, word [edx + edx + 0x442318]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
and eax, edx
and edi, dword [esi + 0x68]
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0x18c]
mov byte [esi + 0x1df], 0
test edi, edi
mov dword [esi + 0xc], ecx
je 0x429f2e
mov dword [esi + 4], eax
lea ebx, [esi + 0x1df]
cmp edi, 0x64
jb 0x429f40
nop
nop
nop
nop
nop
nop
mov eax, edi
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, edi
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp edi, 0x270f
mov edi, edx
ja 0x429ef0
cmp edx, 9
ja 0x429f47
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x429f56
lea ebx, [esi + 0x1de]
mov byte [esi + 0x1de], 0x30
mov edi, dword [esi + 0x10]
jmp 0x429f5f
mov edx, edi
cmp edx, 9
jbe 0x429f21
movzx eax, word [edx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 4]
sub edi, eax
mov dword [esi + 0x14], 0x785f53b7
mov dword [esi + 0x18], 0x2c333514
mov dword [esi + 0x1c], 0x32673f20
mov dword [esi + 0x20], 0x24383d20
mov dword [esi + 0x24], 0x3f263a3c
mov dword [esi + 0x28], 0x90736c3f
mov word [esi + 0x2c], 0
mov byte [esi + 0x2e], 0
mov dword [esi + 0x64], 0
mov eax, dword [esi + 0x64]
cmp eax, 0x1a
ja 0x429fe2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x64]
movzx ecx, byte [esi + ecx + 0x14]
add eax, 0x145efbdb
xor eax, ecx
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xc8]
add al, 0x9e
mov ecx, dword [esi + 0x64]
mov byte [esi + ecx + 0x14], al
inc dword [esi + 0x64]
mov eax, dword [esi + 0x64]
cmp eax, 0x1b
jb 0x429fb0
add edx, edi
movzx eax, byte [esi + 0x14]
test al, al
je 0x429ffb
lea ecx, [esi + 0x15]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429ff0
mov byte [edx], 0
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
test al, al
je 0x42a01b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42a010
mov byte [edx], pe_nt_image_headers32
inc edx
movzx eax, byte [ebx]
test al, al
je 0x42a03b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x42a030
mov byte [edx], 0
push dword [esi + 0x6c]
mov edi, edx
call dword [0x449984]
mov eax, dword [esi + 0xa0]
lea ebx, [esi + 0x1ec]
jmp 0x42a509
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x42a09d
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
jmp dword [0x447d54]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jge case.0x42964b.16
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
jmp case.0x42964b.16
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je 0x42a0d8
cmp dword [esi + 4], reloc.OLEAUT32.dll_VariantClear
jl 0x42a0d8
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
mov eax, ecx
add eax, 0x101
jmp dword [0x447d54]
mov dword [esi + 4], eax
mov byte [esi + 0x33], 0
test di, di
je 0x42a136
lea eax, [esi + 0x33]
cmp di, 0x64
jb 0x42a13f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, di
mov edx, ebx
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
mov ecx, edi
imul edi, edx, 0x64
sub ecx, edi
movzx edi, cx
movzx edi, word [edi + edi + 0x442318]
mov word [eax - 2], di
add eax, 0xfffffffe
mov edi, edx
cmp ebx, 0x270f
ja 0x42a100
jmp 0x42a141
lea eax, [esi + 0x32]
mov byte [esi + 0x32], 0x30
jmp 0x42a166
mov edx, edi
movzx edx, dx
cmp dx, 9
ja 0x42a157
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x42a166
movzx edx, word [edx + edx + 0x442318]
mov word [eax - 2], dx
add eax, 0xfffffffe
mov dword [esi + 0x1ec], 0xac8688ee
mov dword [esi + 0x1f0], 0x598a5c58
mov dword [esi + 0x1f4], 0x72497d44
mov dword [esi + 0x1f8], 0xb5884674
mov byte [esi + 0x1fc], 0xd4
mov word [esi + 0x1fd], 0
mov byte [esi + 0x1ff], 0
mov dword [esi + 0x14], 0
mov edx, dword [esi + 0x14]
cmp edx, 0x13
ja 0x42a1fa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x14]
movzx edi, byte [esi + edi + 0x1ec]
add edx, 0x8a6dff55
xor edx, edi
mov dword [esi + 0xdc], edx
mov edx, dword [esi + 0xdc]
add dl, 0x4f
mov edi, dword [esi + 0x14]
mov byte [esi + edi + 0x1ec], dl
inc dword [esi + 0x14]
mov edx, dword [esi + 0x14]
cmp edx, 0x14
jb 0x42a1c0
movzx edx, byte [esi + 0x1ec]
test dl, dl
je 0x42a21d
lea edi, [esi + 0x1ed]
mov ebx, dword [esi + 8]
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42a210
jmp 0x42a220
mov ebx, dword [esi + 8]
mov edi, ebx
mov byte [ebx], 0
movzx edx, byte [eax]
test dl, dl
je 0x42a23b
inc eax
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x42a230
mov byte [edi], 0
mov byte [esi + 0x33], 0
mov eax, dword [esi + 4]
test al, al
je 0x42a274
movzx ecx, al
cmp al, 0x64
jb 0x42a27d
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*8]
shr ecx, 0xc
imul edx, ecx, 0x64
sub al, dl
movzx eax, al
movzx eax, word [eax + eax + 0x442318]
mov word [esi + 0x31], ax
mov edx, 0xfffffffd
jmp 0x42a286
lea eax, [esi + 0x32]
mov byte [esi + 0x32], 0x30
jmp 0x42a2a8
mov edx, 0xffffffff
cmp al, 9
ja 0x42a299
lea eax, [esi + 0x34]
movzx ecx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
add eax, edx
dec eax
mov byte [esi + edx + 0x33], cl
jmp 0x42a2a8
movzx ecx, word [ecx + ecx + 0x442318]
lea eax, [esi + 0x31]
mov word [esi + 0x31], cx
mov dword [esi + 0x1ec], 0x4f63570b
mov dword [esi + 0x1f0], 0x4b6fb3bd
mov dword [esi + 0x1f4], 0xe7a6989e
mov word [esi + 0x1f8], 0x162f
mov byte [esi + 0x1fa], 0x77
mov word [esi + 0x1fb], 0
mov byte [esi + 0x1fd], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x11
ja 0x42a33a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0xa60396b5
xor ecx, edx
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0xdc]
add cl, 0x4c
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x12
jb 0x42a300
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x42a35b
lea edx, [esi + 0x1ed]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42a350
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
mov edx, edi
je 0x42a37b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42a370
mov byte [edx], 0
mov dword [esi + 0x1ec], 0xa09a887a
mov dword [esi + 0x1f0], 0x9db0d4a8
mov byte [esi + 0x1f4], 0x7c
mov dword [esi + 0x1f5], 0
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xf
ja 0x42a3f8
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x5b022b8f
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0x15
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x42a3c0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x42a41b
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42a410
mov dword [esi + 8], edx
mov byte [edx], 0
mov eax, dword [0x449880]
mov dword [esi + 0x1ec], 0x83f181fd
mov dword [esi + 0x1f0], 0x8ffc8de1
mov dword [esi + 0x1f4], 0x8bb889bb
mov dword [esi + 0x1f8], 0x97fa95a2
mov dword [esi + 0x1fc], 0x93e691e4
mov word [esi + 0x200], 0x9d9c
mov dword [esi + 0x202], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x19
ja 0x42a4c3
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
movzx edx, byte [esi + edx + 0x1ec]
lea edi, [ecx + 4]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0x226eb604
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0xdc]
add cl, 0x7c
mov edx, dword [esi + 0x14]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
cmp ecx, 0x1a
jb 0x42a480
lea ebx, [esi + 0x1ec]
push 0x800
push 0
push ebx
call eax
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 0
lea ecx, [esi + 0xb0]
mov dword [esi + 0x6c], eax
push eax
call fcn.0043c120
movzx eax, al
jmp dword [eax*4 + 0x447d5c]
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xa0]
mov byte [edi], 0
mov dword [esi + 0x1ec], 0x9997a289
mov dword [esi + 0x1f0], 0x9d56928b
mov word [esi + 0x1f4], 0x9f9a
mov byte [esi + 0x1f6], 0x6c
mov dword [esi + 0x1f7], 0
mov byte [esi + 0x1fb], 0
sub edi, eax
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0xf
mov edx, edi
ja 0x42a598
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 + 0x1ec]
add eax, 0x24a1999e
xor eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
add al, 0x3c
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x42a560
mov ecx, dword [ebp + 8]
push edx
mov edi, dword [esi + 0xa0]
push edi
push ebx
call fcn.0040a340
jmp dword [0x447d64]
push edi
call fcn.00409a60
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esi + 0x1ec]
mov byte [esi + 0x7fa], 0
test ecx, ecx
je 0x42a61e
lea edi, [esi + 0x7fa]
cmp ecx, 0x64
jb 0x42a630
nop
nop
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov ebx, ecx
sub ebx, eax
movzx eax, word [ebx + ebx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x42a5e0
cmp edx, 9
ja 0x42a637
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x42a65c
lea eax, [esi + 0x7f9]
mov dword [esi + 8], eax
mov byte [esi + 0x7f9], 0x30
jmp 0x42a662
mov edx, ecx
cmp edx, 9
jbe 0x42a611
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov dword [esi + 8], edi
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x1f0]
mov byte [esi + 0xe6], 0
test ecx, ecx
je 0x42a6be
lea ebx, [esi + 0xe6]
cmp ecx, 0x64
jb 0x42a6d0
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov edi, ecx
sub edi, eax
movzx eax, word [edi + edi + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x42a680
cmp edx, 9
ja 0x42a6d7
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x42a6fc
lea eax, [esi + 0xe5]
mov dword [esi + 0xc], eax
mov byte [esi + 0xe5], 0x30
jmp 0x42a702
mov edx, ecx
cmp edx, 9
jbe 0x42a6b1
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov dword [esi + 0xc], ebx
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x1f4]
mov byte [esi + 0x53e], 0
test ecx, ecx
je 0x42a75e
lea ebx, [esi + 0x53e]
cmp ecx, 0x64
jb 0x42a76d
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov edi, ecx
sub edi, eax
movzx eax, word [edi + edi + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x42a720
cmp edx, 9
ja 0x42a774
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x42a799
lea ebx, [esi + 0x53d]
mov byte [esi + 0x53d], 0x30
jmp 0x42a79c
mov edx, ecx
cmp edx, 9
jbe 0x42a751
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x1fc]
mov dword [esi + 0x5f0], 0xb8ead8fa
mov dword [esi + 0x5f4], 0x9eace7a5
mov dword [esi + 0x5f8], 0x90958e8a
mov dword [esi + 0x5fc], 0xfd1e3992
mov dword [esi + 0x600], 0
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x70]
cmp eax, 0x13
ja 0x42a822
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x70]
movzx edx, byte [esi + edx + 0x5f0]
add eax, 0xfd4a4773
xor eax, edx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x81
mov edx, dword [esi + 0x70]
mov byte [esi + edx + 0x5f0], al
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
cmp eax, 0x14
jb 0x42a7f0
movzx edx, byte [esi + 0x5f0]
mov eax, edi
test dl, dl
je 0x42a84b
lea edi, [esi + 0x5f1]
mov eax, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42a840
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42a86d
inc ecx
mov edi, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42a860
jmp 0x42a870
mov edi, dword [esi + 8]
mov word [eax], 0x2820
add eax, 2
movzx ecx, byte [edi]
test cl, cl
je 0x42a88b
inc edi
mov byte [eax], cl
inc eax
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x42a880
mov byte [eax], 0x2e
inc eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx]
test cl, cl
je 0x42a8ab
inc edx
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42a8a0
mov byte [eax], 0x2e
inc eax
movzx ecx, byte [ebx]
test cl, cl
je 0x42a8cb
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [ebx]
inc ebx
test cl, cl
jne 0x42a8c0
mov byte [eax], 0x29
lea eax, [esi + 0xcc]
push eax
call fcn.0043ed10
add esp, 4
mov ecx, dword [esi + 0x1ec]
mov byte [esi + 0x7fa], 0
test ecx, ecx
je 0x42a93e
lea edi, [esi + 0x7fa]
cmp ecx, 0x64
jb 0x42a950
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov ebx, ecx
sub ebx, eax
movzx eax, word [ebx + ebx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x42a900
cmp edx, 9
ja 0x42a957
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x42a97c
lea eax, [esi + 0x7f9]
mov dword [esi + 8], eax
mov byte [esi + 0x7f9], 0x30
jmp 0x42a97f
mov edx, ecx
cmp edx, 9
jbe 0x42a931
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov dword [esi + 8], edi
mov ecx, dword [esi + 0x1f0]
mov byte [esi + 0xe6], 0
test ecx, ecx
je 0x42a9de
lea edi, [esi + 0xe6]
cmp ecx, 0x64
jb 0x42a9ed
nop
nop
nop
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov ebx, ecx
sub ebx, eax
movzx eax, word [ebx + ebx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x42a9a0
cmp edx, 9
ja 0x42a9f4
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x42aa19
lea edi, [esi + 0xe5]
mov byte [esi + 0xe5], 0x30
jmp 0x42aa19
mov edx, ecx
cmp edx, 9
jbe 0x42a9d1
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov ebx, dword [esi + 0x1f4]
mov byte [esi + 0x53e], 0
test ebx, ebx
mov dword [esi + 0xc], edi
je 0x42aa7e
lea edi, [esi + 0x53e]
cmp ebx, 0x64
jb 0x42aa8d
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x42aa40
cmp edx, 9
ja 0x42aa94
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x42aab9
lea edi, [esi + 0x53d]
mov byte [esi + 0x53d], 0x30
jmp 0x42aab9
mov edx, ebx
cmp edx, 9
jbe 0x42aa71
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov eax, dword [esi + 0x1fc]
mov dword [esi + 0x5f0], 0xb8ead8fa
mov dword [esi + 0x5f4], 0x9eace7a5
mov dword [esi + 0x5f8], 0x90958e8a
mov dword [esi + 0x5fc], 0xfd1e3992
mov dword [esi + 0x600], 0
mov dword [esi + 0x70], 0
mov ecx, dword [esi + 0x70]
cmp ecx, 0x13
ja 0x42ab34
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x70]
movzx edx, byte [esi + edx + 0x5f0]
add ecx, 0xfd4a4773
xor ecx, edx
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x34]
add cl, 0x81
mov edx, dword [esi + 0x70]
mov byte [esi + edx + 0x5f0], cl
inc dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
cmp ecx, 0x14
jb 0x42ab00
movzx ecx, byte [esi + 0x5f0]
mov ebx, dword [esi + 4]
test cl, cl
je 0x42ab5b
lea edx, [esi + 0x5f1]
mov ebx, dword [esi + 4]
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42ab50
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42ab7b
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 0x42ab70
mov word [ebx], 0x2820
add ebx, 2
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
test al, al
je 0x42ab9b
inc ecx
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ab90
mov byte [ebx], 0x2e
inc ebx
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
test al, al
je 0x42abbb
inc ecx
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42abb0
mov byte [ebx], 0x2e
inc ebx
movzx eax, byte [edi]
test al, al
je 0x42abdb
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x42abd0
mov byte [ebx], 0x29
lea eax, [esi + 0xcc]
push eax
call fcn.0043ed10
add esp, 4
mov edi, dword [esi + 4]
jmp dword [0x447c70]
int3
mov al, byte [esi + 0xe0]
mov byte [esi + 0xfc], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x57
mov byte [esi + 0xe4], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 1
mov byte [esi + 0xe5], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x51
xor eax, 2
mov byte [esi + 0xe6], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 3
mov byte [esi + 0xe7], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4c
xor eax, 4
mov byte [esi + 0xe8], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 5
mov byte [esi + 0xe9], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 6
mov byte [esi + 0xea], al
sub esp, 8
mov dword [esp], 0xe1f0f900
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 7
mov byte [esi + 0xeb], al
mov eax, 8
mov byte [esi + eax + 0xe4], 0
add eax, 1
cmp eax, 0xc
jne 0x42b192
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0xc
jae 0x42b1e4
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [esi + ecx + 0xe4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431ae0
add esp, 8
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0xe4], al
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 8], eax
jmp 0x42b1a9
mov eax, dword [esi + 0x330]
mov ecx, dword [esi + 0x334]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x230], 1
mov eax, dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x14c]
jmp eax
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [esi + 0x34]
mov eax, dword [edi]
mov ebx, dword [eax + 8]
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x360]
mov edx, dword [esi + 0x364]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040a130
lea edi, [esi + 0x160]
mov eax, dword [esi + 0x160]
mov dword [esi + 0x2e0], 0
mov ecx, dword [esi + 0x2e4]
mov edx, dword [esi + 0x2e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
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
sub esp, 4
mov eax, dword [esi + 0x19c]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0xf4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x1e8]
mov ecx, dword [esi + 0x1ec]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x308], eax
mov eax, dword [esi + 0x30c]
mov ecx, dword [esi + 0x308]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, eax
mov eax, dword [edi + 8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0042ac00
add esp, 8
mov edi, eax
and edi, 1
or eax, 1
add edi, eax
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
shl ebx, 1
mov dword [esi + 0x84], eax
add eax, ebx
mov dword [esi + 0x17c], eax
mov eax, ecx
add eax, edi
mov dword [esi + 0x178], ecx
mov edi, dword [esi + 0x154]
mov edx, eax
add eax, 0xffffffff
cmp ecx, eax
jae 0x42b3dc
mov edi, dword [esi + 0x17c]
test edi, edi
sete al
mov ebx, ecx
mov ecx, dword [esi + 0x84]
sub ecx, edi
mov edi, dword [esi + 0x154]
setb cl
or al, cl
mov ecx, ebx
test al, 1
jne 0x42b392
jmp 0x42b3dc
mov eax, dword [esi + 0x84]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
mov ecx, ebx
je 0x42b3dc
add dword [esi + 0x84], 2
mov ecx, ebx
xor ecx, 0xffffffff
mov dword [esi + 0x170], edx
add ecx, edx
sub esp, 0xc
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00431970
mov ecx, ebx
add esp, 0xc
add ecx, eax
mov eax, dword [esi + 0x170]
jmp 0x42b361
mov byte [ecx], 0
mov ebx, dword [esi + 0x178]
mov eax, ebx
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, ebx
add eax, 4
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, ebx
add eax, 8
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xa
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xc
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x288], 0
mov eax, dword [esi + 0x28c]
mov ecx, dword [esi + 0x288]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
jmp eax
mov edx, dword [esi + 0x248]
mov edi, dword [esi + 0x24c]
mov edx, dword [edi + edx*4]
jmp edx
fcomp dword [edx + edi - 0x377974f4]
add dword [eax], eax
add byte [ebx + 0x1cc8e], cl
add byte [ebx - 0x1f007efc], cl
lea eax, [esi + 0x3a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esi + 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, dword [esi]
mov eax, dword [esi + 0x18c]
mov al, byte [eax]
mov byte [esi + 0x10c], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4c
xor eax, 0xe9
mov byte [esi + 0x90], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xea
mov byte [esi + 0x91], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6f
xor eax, 0xeb
mov byte [esi + 0x92], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xec
mov byte [esi + 0x93], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x63
xor eax, 0xed
mov byte [esi + 0x94], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xee
mov byte [esi + 0x95], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0xef
mov byte [esi + 0x96], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf0
mov byte [esi + 0x97], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6c
xor eax, 0xf1
mov byte [esi + 0x98], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf2
mov byte [esi + 0x99], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x44
xor eax, 0xf3
mov byte [esi + 0x9a], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf4
mov byte [esi + 0x9b], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0xf5
mov byte [esi + 0x9c], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf6
mov byte [esi + 0x9d], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0xf7
mov byte [esi + 0x9e], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf8
mov byte [esi + 0x9f], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
xor eax, 0xf9
mov byte [esi + 0xa0], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfa
mov byte [esi + 0xa1], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x54
xor eax, 0xfb
mov byte [esi + 0xa2], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfc
mov byte [esi + 0xa3], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x69
xor eax, 0xfd
mov byte [esi + 0xa4], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfe
mov byte [esi + 0xa5], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6d
xor eax, 0xff
mov byte [esi + 0xa6], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x100
mov byte [esi + 0xa7], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
xor eax, 0x101
mov byte [esi + 0xa8], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x102
mov byte [esi + 0xa9], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x103
mov byte [esi + 0xaa], al
sub esp, 8
mov dword [esp], 0x2839e9
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x104
mov byte [esi + 0xab], al
mov eax, 0x1c
mov byte [esi + eax + 0x90], 0
add eax, 1
cmp eax, 0x20
jne 0x42b96b
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x20
jae 0x42b9bd
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x90]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431b90
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x90], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x42b982
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
lea ecx, [esi + 0x158]
mov dword [esp + 0xc], ecx
lea ecx, [esi + 0x90]
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
test eax, eax
setns al
mov cx, word [esi + 0x158]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x2f0], eax
mov eax, dword [esi + 0x2f4]
mov ecx, dword [esi + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x210], 1
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1f0]
mov ecx, dword [esi + 0x1f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov byte [ebx], 0
mov dword [esi + 0x380], 0
mov eax, dword [esi + 0x384]
mov ecx, dword [esi + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x388], 1
mov eax, dword [esi + 0x38c]
mov ecx, dword [esi + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov eax, dword [esi + 0xd8]
mov ecx, dword [eax]
add ecx, 8
mov dword [esi + 0x250], 1
mov edx, dword [esi + 0x254]
mov edi, dword [esi + 0x250]
mov edx, dword [edx + edi*4]
jmp edx
fdiv qword [esi + esi + 7]
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x140]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 0x14
lea eax, [esi + 0xf4]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x442a08
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x442a18
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov ecx, dword [esi + 0x368]
mov edx, dword [esi + 0x36c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040a130
mov dword [esi + 0x2e8], 1
mov eax, dword [esi + 0x2ec]
mov ecx, dword [esi + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0xf4], 0
mov eax, dword [esi + 0x370]
mov ecx, dword [esi + 0x374]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x258], 0
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esi + 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi + 0x148]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ebx, dword [esi]
mov eax, dword [esi + 0x194]
mov al, byte [eax]
mov byte [esi + 0x110], al
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x43
mov ecx, eax
and ecx, 0x82035114
shl ecx, 1
mov edx, 0x82035114
sub edx, ecx
add edx, eax
mov edi, dword [esi + 0x144]
mov byte [edi], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035115
shl ecx, 1
mov edx, 0x82035115
sub edx, ecx
add edx, eax
mov byte [edi + 1], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x75
mov ecx, eax
and ecx, 0x82035116
shl ecx, 1
mov edx, 0x82035116
sub edx, ecx
add edx, eax
mov byte [edi + 2], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035117
shl ecx, 1
mov edx, 0x82035117
sub edx, ecx
add edx, eax
mov byte [edi + 3], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x72
mov ecx, eax
and ecx, 0x82035118
shl ecx, 1
mov edx, 0x82035118
sub edx, ecx
add edx, eax
mov byte [edi + 4], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035119
shl ecx, 1
mov edx, 0x82035119
sub edx, ecx
add edx, eax
mov byte [edi + 5], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x72
mov ecx, eax
and ecx, 0x8203511a
shl ecx, 1
mov edx, 0x8203511a
sub edx, ecx
add edx, eax
mov byte [edi + 6], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x8203511b
shl ecx, 1
mov edx, 0x8203511b
sub edx, ecx
add edx, eax
mov byte [edi + 7], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
mov ecx, eax
and ecx, 0x8203511c
shl ecx, 1
mov edx, 0x8203511c
sub edx, ecx
add edx, eax
mov byte [edi + 8], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x8203511d
shl ecx, 1
mov edx, 0x8203511d
sub edx, ecx
add edx, eax
mov byte [edi + 9], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
mov ecx, eax
and ecx, 0x8203511e
shl ecx, 1
mov edx, 0x8203511e
sub edx, ecx
add edx, eax
mov byte [edi + 0xa], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x8203511f
shl ecx, 1
mov edx, 0x8203511f
sub edx, ecx
add edx, eax
mov byte [edi + 0xb], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
mov ecx, eax
and ecx, 0x82035120
shl ecx, 1
mov edx, 0x82035120
sub edx, ecx
add edx, eax
mov byte [edi + 0xc], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035121
shl ecx, 1
mov edx, 0x82035121
sub edx, ecx
add edx, eax
mov byte [edi + 0xd], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x54
mov ecx, eax
and ecx, 0x82035122
shl ecx, 1
mov edx, 0x82035122
sub edx, ecx
add edx, eax
mov byte [edi + 0xe], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035123
shl ecx, 1
mov edx, 0x82035123
sub edx, ecx
add edx, eax
mov byte [edi + 0xf], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x69
mov ecx, eax
and ecx, 0x82035124
shl ecx, 1
mov edx, 0x82035124
sub edx, ecx
add edx, eax
mov byte [edi + 0x10], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035125
shl ecx, 1
mov edx, 0x82035125
sub edx, ecx
add edx, eax
mov byte [edi + 0x11], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6d
mov ecx, eax
and ecx, 0x82035126
shl ecx, 1
mov edx, 0x82035126
sub edx, ecx
add edx, eax
mov byte [edi + 0x12], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035127
shl ecx, 1
mov edx, 0x82035127
sub edx, ecx
add edx, eax
mov byte [edi + 0x13], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
mov ecx, eax
and ecx, 0x82035128
shl ecx, 1
mov edx, 0x82035128
sub edx, ecx
add edx, eax
mov byte [edi + 0x14], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035129
shl ecx, 1
mov edx, 0x82035129
sub edx, ecx
add edx, eax
mov byte [edi + 0x15], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x5a
mov ecx, eax
and ecx, 0x8203512a
shl ecx, 1
mov edx, 0x8203512a
sub edx, ecx
add edx, eax
mov byte [edi + 0x16], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x8203512b
shl ecx, 1
mov edx, 0x8203512b
sub edx, ecx
add edx, eax
mov byte [edi + 0x17], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6f
mov ecx, eax
and ecx, 0x8203512c
shl ecx, 1
mov edx, 0x8203512c
sub edx, ecx
add edx, eax
mov byte [edi + 0x18], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x8203512d
shl ecx, 1
mov edx, 0x8203512d
sub edx, ecx
add edx, eax
mov byte [edi + 0x19], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
mov ecx, eax
and ecx, 0x8203512e
shl ecx, 1
mov edx, 0x8203512e
sub edx, ecx
add edx, eax
mov byte [edi + 0x1a], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x8203512f
shl ecx, 1
mov edx, 0x8203512f
sub edx, ecx
add edx, eax
mov byte [edi + 0x1b], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
mov ecx, eax
and ecx, 0x82035130
shl ecx, 1
mov edx, 0x82035130
sub edx, ecx
add edx, eax
mov byte [edi + 0x1c], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035131
shl ecx, 1
mov edx, 0x82035131
sub edx, ecx
add edx, eax
mov byte [edi + 0x1d], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035132
shl ecx, 1
mov edx, 0x82035132
sub edx, ecx
add edx, eax
mov byte [edi + 0x1e], dl
sub esp, 8
mov dword [esp], 0x82035114
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
mov ecx, eax
and ecx, 0x82035133
shl ecx, 1
mov edx, 0x82035133
sub edx, ecx
add edx, eax
mov byte [edi + 0x1f], dl
mov eax, 0x20
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x24
jne 0x42c210
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x24
jae 0x42c25c
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431bb0
mov edi, dword [esi + 0x144]
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
jmp 0x42c223
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, ebx
mov ebx, dword [esi + 0x148]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x2b0], eax
mov eax, dword [esi + 0x2b4]
mov ecx, dword [esi + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
movsx ecx, word [ebx + 8]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov eax, dword [esi + 0x198]
mov word [eax], dx
mov eax, dword [esi + 0x2a8]
mov ecx, dword [esi + 0x2ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x238]
mov ecx, dword [esi + 0x23c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
sub esp, 4
mov dword [esp], edi
call ebx
mov dword [esi + 0x208], 0
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esi + 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, dword [esi]
mov eax, dword [esi + 0x150]
mov al, byte [eax]
mov byte [esi + 0x118], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x49
xor eax, 0xfd
xor al, 0xcf
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfc
xor al, 0xcf
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
xor eax, 0xfb
xor al, 0xcf
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfa
xor al, 0xcf
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x73
xor eax, 0xf9
xor al, 0xcf
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf8
xor al, 0xcf
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0xf7
xor al, 0xcf
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf6
xor al, 0xcf
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0xf5
xor al, 0xcf
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf4
xor al, 0xcf
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6c
xor eax, 0xf3
xor al, 0xcf
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf2
xor al, 0xcf
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6c
xor eax, 0xf1
xor al, 0xcf
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf0
xor al, 0xcf
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x44
xor eax, 0x8f
xor al, 0xcf
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x8e
xor al, 0xcf
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0x8d
xor al, 0xcf
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x8c
xor al, 0xcf
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0x8b
xor al, 0xcf
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x8a
xor al, 0xcf
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
xor eax, 0x89
xor al, 0xcf
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x88
xor al, 0xcf
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x87
xor al, 0xcf
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x86
xor al, 0xcf
mov byte [ebx + 0x17], al
mov eax, 0x18
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x42c6db
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x19
jae 0x42c727
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431bf0
mov ebx, dword [esi + 0x88]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x42c6ee
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x28]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [edi]
sub cx, 8
sete cl
and al, cl
mov dword [esi + 0x298], 0
mov ecx, dword [esi + 0x29c]
mov edx, dword [esi + 0x298]
mov ecx, dword [ecx + edx*4]
jmp ecx
sub esp, 4
mov dword [esp], ebx
call fcn.00409a60
add esp, 4
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x290], eax
mov eax, dword [esi + 0x294]
mov ecx, dword [esi + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [esi + 0x174], eax
mov ebx, dword [edi]
mov ecx, eax
shl ecx, 1
mov edx, ebx
add edx, ecx
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0042ac00
add esp, 8
mov edi, eax
sub edi, 0x8749850
add edi, 1
add edi, 0x8749850
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov ebx, eax
lea eax, [esi + 0x160]
mov eax, dword [eax]
mov ecx, dword [esi + 0x174]
shl ecx, 1
mov dword [esi + 0x80], eax
add eax, ecx
mov dword [esi + 0x180], eax
mov ecx, ebx
add ecx, edi
mov edi, ebx
mov eax, ecx
add eax, 0xffffffff
cmp edi, eax
jae 0x42c8b8
mov dword [esi + 0x138], ecx
mov edx, dword [esi + 0x180]
test edx, edx
sete al
mov ecx, dword [esi + 0x80]
sub ecx, edx
mov edx, dword [esi + 0x138]
setb cl
or al, cl
test al, 1
jne 0x42c878
jmp 0x42c8b8
mov eax, dword [esi + 0x80]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x42c8b8
add dword [esi + 0x80], 2
mov ecx, edi
xor ecx, 0xffffffff
add ecx, edx
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00431970
mov ecx, dword [esi + 0x138]
add esp, 0xc
add edi, eax
jmp 0x42c845
mov byte [edi], 0
mov eax, ebx
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0x190]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, dword [esi + 0x2d0]
mov edx, dword [esi + 0x2d4]
mov eax, dword [edx + eax*4]
jmp eax
mov ecx, dword [esi + 0x2d8]
mov edx, dword [esi + 0x2dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
into
rcr dword [0x9c96b044], 1
mov dword ds:[esi + 0x30], 0
mov eax, dword [esi + 0xd8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
lea edx, [esi + 0x30]
mov dword [esp + 0x10], edx
mov edx, esi
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x2a0], 0
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov ebx, dword [esi + 0x88]
jmp eax
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x8c]
jmp eax
call fcn.0040a130
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x140]
mov dword [esp], eax
call edi
mov dword [esi + 0x228], 1
mov eax, dword [esi + 0x22c]
mov ecx, dword [esi + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
lea eax, [esi + 0x38]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, dword [esi + 0x34]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
lea edx, [esi + 0xd8]
mov dword [esp + 0x14], edx
mov dword [esi + 0x140], eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x14c]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x320], eax
mov eax, dword [esi + 0x324]
mov ecx, dword [esi + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x318], 1
mov eax, dword [esi + 0x31c]
mov ecx, dword [esi + 0x318]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x260]
mov ecx, dword [esi + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [ebx], 0
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call ebx
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x1a4]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esi + 0x3a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, dword [esi]
mov al, byte [esi + 0xc0]
mov byte [esi + 0x104], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x43
xor eax, 0x3f
mov byte [esi + 0xc4], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x40
mov byte [esi + 0xc5], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0x41
mov byte [esi + 0xc6], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x42
mov byte [esi + 0xc7], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x70
xor eax, 0x43
mov byte [esi + 0xc8], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x44
mov byte [esi + 0xc9], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0x45
mov byte [esi + 0xca], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x46
mov byte [esi + 0xcb], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x69
xor eax, 0x47
mov byte [esi + 0xcc], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x48
mov byte [esi + 0xcd], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6f
xor eax, 0x49
mov byte [esi + 0xce], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x4a
mov byte [esi + 0xcf], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
xor eax, 0x4b
mov byte [esi + 0xd0], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x4c
mov byte [esi + 0xd1], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x4d
mov byte [esi + 0xd2], al
sub esp, 8
mov dword [esp], 0x2456213f
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x4e
mov byte [esi + 0xd3], al
mov eax, 0x10
mov byte [esi + eax + 0xc4], 0
add eax, 1
cmp eax, 0x13
jne 0x42cd22
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x13
jae 0x42cd74
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0xc4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431b30
add esp, 8
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0xc4], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
jmp 0x42cd39
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
lea ecx, [esi + 0x3a0]
mov dword [esp + 0xc], ecx
lea ecx, [esi + 0xc4]
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
test eax, eax
setns al
mov cx, word [esi + 0x3a0]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x300], eax
mov eax, dword [esi + 0x304]
mov ecx, dword [esi + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x3a8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, eax
mov eax, dword [esi + 0x3a8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0042ac00
add esp, 8
mov edi, eax
mov dword [esi + 0x184], edi
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x8c]
mov dword [eax], edx
mov ecx, dword [esi + 0x3a8]
shl ebx, 1
mov eax, ecx
add eax, ebx
mov dword [esi + 0x13c], eax
mov eax, edx
add eax, edi
mov ebx, eax
add eax, 0xffffffff
cmp edx, eax
jae 0x42ceb3
cmp dword [esi + 0x13c], 0
sete al
mov edi, ecx
mov ecx, edi
sub ecx, dword [esi + 0x13c]
setb cl
or al, cl
test al, 1
jne 0x42ce71
jmp 0x42ceb3
mov cx, word [edi]
movzx eax, cx
cmp cx, 0
je 0x42ceb3
add edi, 2
mov dword [esi + 0x188], edi
mov ecx, edx
xor ecx, 0xffffffff
add ecx, ebx
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov edi, edx
call fcn.00431970
mov ecx, dword [esi + 0x188]
mov edx, edi
add esp, 0xc
add edx, eax
mov eax, ebx
jmp 0x42ce49
mov byte [edx], 0
mov al, byte [esi + 0xb0]
mov byte [esi + 0x108], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x57
xor eax, 0x1c
mov byte [esi + 0xb4], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x69
xor eax, 0x1d
mov byte [esi + 0xb5], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
xor eax, 0x1e
mov byte [esi + 0xb6], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x64
xor eax, 0x1f
mov byte [esi + 0xb7], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6f
xor eax, 0x20
mov byte [esi + 0xb8], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x77
xor eax, 0x21
mov byte [esi + 0xb9], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x73
xor eax, 0x22
mov byte [esi + 0xba], al
sub esp, 8
mov dword [esp], 0xbbe2541c
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x23
mov byte [esi + 0xbb], al
mov eax, 8
mov byte [esi + eax + 0xb4], 0
add eax, 1
cmp eax, 0xc
jne 0x42cff4
mov dword [esi + 0x14], 0
mov edi, dword [esi + 0x8c]
mov eax, dword [esi + 0x14]
cmp eax, 0xc
jae 0x42d04c
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0xb4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431b60
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0xb4], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x42d011
mov eax, dword [edi]
sub esp, 8
lea ecx, [esi + 0xb4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004196d0
add esp, 8
mov edi, dword [edi]
mov ecx, edi
sub ecx, eax
mov ebx, dword [esi + 0x184]
lea edx, [ebx + ecx]
lea ecx, [ebx + ecx + 1]
mov dword [esi + 0x2c], ecx
seta cl
lea edx, [eax + edx + 1]
mov ebx, edi
sub edx, edi
seta dl
and cl, dl
test cl, 1
jne 0x42d10a
mov ecx, dword [esi + 0x2c]
shr ecx, 2
mov edx, eax
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0x2c]
mov ecx, edx
and ecx, 0xfffffffc
add ebx, ecx
mov edi, ebx
mov dword [esi + 0x168], edi
add eax, ecx
and edx, 3
mov ecx, edx
shr ecx, 1
mov dword [esi + 0x16c], eax
mov ebx, dword [esi + 0x16c]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
xor ecx, 1
and ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x168]
add edi, ecx
add eax, ecx
mov ecx, edx
add ecx, 1
xor edx, 0xffffffff
or edx, 1
add edx, ecx
cmp edx, 0
je 0x42d134
add edx, 0xffffffff
mov ecx, eax
add ecx, 1
mov al, byte [eax]
mov ebx, edi
mov edi, ebx
add edi, 1
mov byte [ebx], al
mov eax, ecx
jmp 0x42d0ee
mov edi, dword [esi + 0x2c]
mov ecx, edi
add ecx, 0xffffffff
add ebx, ecx
add eax, ecx
cmp edi, 0
je 0x42d132
add edi, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov edx, ebx
add edx, 0xffffffff
mov byte [ebx], al
mov ebx, edx
mov eax, ecx
jmp 0x42d116
jmp 0x42d136
jmp 0x42d136
call fcn.0040a130
call fcn.0040a130
mov eax, dword [esi + 0x2f8]
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0xd8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
lea edx, [esi + 0x30]
mov dword [esp + 0x10], edx
mov edx, esi
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
test eax, eax
setns cl
sub eax, 1
setne al
mov edx, dword [esi + 0x30]
test edx, edx
setne dl
and al, dl
and al, cl
mov dword [esi + 0x310], 1
mov ecx, dword [esi + 0x314]
mov edx, dword [esi + 0x310]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esi + 0x34]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x340], 0
mov edx, dword [esi + 0x344]
mov edi, dword [esi + 0x340]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
not eax
shr eax, 0x1f
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0x35c]
mov ecx, dword [esi + 0x358]
mov eax, dword [eax + ecx*4]
jmp eax
inc edx
imul esp, dword [edi], 0x56
mov eax, dword [esi + 0x34]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov eax, dword [ecx + eax*4]
jmp eax
push eax
mov dword [esi + 0x18c], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x148], eax
mov esp, eax
push eax
sub esp, 0x20
mov dword [esi + 0x144], esp
push eax
mov dword [esi + 0x194], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x28], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0x88], esp
push eax
mov dword [esi + 0x150], esp
mov eax, dword [0x7ffe026c]
mov dword [ebx], eax
mov eax, dword [0x7ffe0270]
mov dword [ebx + 4], eax
mov eax, dword [0x7ffe0260]
mov dword [ebx + 8], eax
mov eax, dword [0x7ffe0264]
sub eax, 2
sete byte [ebx + 0xc]
mov edi, ebx
add edi, 0x10
mov dword [ebx + 0x10], 0
mov eax, ebx
add eax, 0x14
mov dword [esi + 0x190], eax
mov byte [ebx + 0x14], 0
mov eax, ebx
add eax, 0x28
mov dword [esi + 0x198], eax
mov word [ebx + 0x28], 0
add ebx, 0x2a
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0x394]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, ebx
add eax, 4
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, ebx
add eax, 8
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xa
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xc
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.00431a30
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x2c8], 0
mov eax, dword [esi + 0x2cc]
mov ecx, dword [esi + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esi + 0x280], 1
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esi + 0xf0]
mov byte [esi + 0xf8], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x52
xor eax, 0xf7
mov byte [esi + 0x11c], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf8
mov byte [esi + 0x11d], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4f
xor eax, 0xf9
mov byte [esi + 0x11e], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfa
mov byte [esi + 0x11f], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4f
xor eax, 0xfb
mov byte [esi + 0x120], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfc
mov byte [esi + 0x121], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x54
xor eax, 0xfd
mov byte [esi + 0x122], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfe
mov byte [esi + 0x123], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x5c
xor eax, 0xff
mov byte [esi + 0x124], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x100
mov byte [esi + 0x125], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x43
xor eax, 0x101
mov byte [esi + 0x126], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x102
mov byte [esi + 0x127], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x49
xor eax, 0x103
mov byte [esi + 0x128], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x104
mov byte [esi + 0x129], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4d
xor eax, 0x105
mov byte [esi + 0x12a], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x106
mov byte [esi + 0x12b], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x56
xor eax, 0x107
mov byte [esi + 0x12c], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x108
mov byte [esi + 0x12d], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x32
xor eax, 0x109
mov byte [esi + 0x12e], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x10a
mov byte [esi + 0x12f], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x10b
mov byte [esi + 0x130], al
sub esp, 8
mov dword [esp], 0x928962f7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x10c
mov byte [esi + 0x131], al
mov eax, 0x16
mov byte [esi + eax + 0x11c], 0
add eax, 1
cmp eax, 0x1a
jne 0x42d7cc
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x1a
jae 0x42d81e
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x11c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431ac0
add esp, 8
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x11c], al
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 4], eax
jmp 0x42d7e3
mov dword [esi + 0x154], ebx
sub esp, 4
lea eax, [esi + 0x11c]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, eax
mov ecx, dword [esi + 0xf4]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
lea edx, [esi + 0x34]
mov dword [esp + 0x20], edx
mov dword [esi + 0x19c], ebx
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x350], eax
mov eax, dword [esi + 0x354]
mov ecx, dword [esi + 0x350]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0x14c], eax
mov al, byte [esi + 0xdc]
mov byte [esi + 0x100], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x53
xor eax, 0xe7
mov byte [esi + 0x38], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xe8
mov byte [esi + 0x39], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x45
xor eax, 0xe9
mov byte [esi + 0x3a], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xea
mov byte [esi + 0x3b], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4c
xor eax, 0xeb
mov byte [esi + 0x3c], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xec
mov byte [esi + 0x3d], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x45
xor eax, 0xed
mov byte [esi + 0x3e], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xee
mov byte [esi + 0x3f], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x43
xor eax, 0xef
mov byte [esi + 0x40], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf0
mov byte [esi + 0x41], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x54
xor eax, 0xf1
mov byte [esi + 0x42], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf2
mov byte [esi + 0x43], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x20
xor eax, 0xf3
mov byte [esi + 0x44], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf4
mov byte [esi + 0x45], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x2a
xor eax, 0xf5
mov byte [esi + 0x46], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf6
mov byte [esi + 0x47], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x20
xor eax, 0xf7
mov byte [esi + 0x48], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf8
mov byte [esi + 0x49], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x46
xor eax, 0xf9
mov byte [esi + 0x4a], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfa
mov byte [esi + 0x4b], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x52
xor eax, 0xfb
mov byte [esi + 0x4c], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfc
mov byte [esi + 0x4d], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4f
xor eax, 0xfd
mov byte [esi + 0x4e], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfe
mov byte [esi + 0x4f], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4d
xor eax, 0xff
mov byte [esi + 0x50], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x100
mov byte [esi + 0x51], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x20
xor eax, 0x101
mov byte [esi + 0x52], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x102
mov byte [esi + 0x53], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x57
xor eax, 0x103
mov byte [esi + 0x54], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x104
mov byte [esi + 0x55], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x69
xor eax, 0x105
mov byte [esi + 0x56], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x106
mov byte [esi + 0x57], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
xor eax, 0x107
mov byte [esi + 0x58], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x108
mov byte [esi + 0x59], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x33
xor eax, 0x109
mov byte [esi + 0x5a], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x10a
mov byte [esi + 0x5b], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x32
xor eax, 0x10b
mov byte [esi + 0x5c], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x10c
mov byte [esi + 0x5d], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x5f
xor eax, 0x10d
mov byte [esi + 0x5e], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x10e
mov byte [esi + 0x5f], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x4f
xor eax, 0x10f
mov byte [esi + 0x60], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x110
mov byte [esi + 0x61], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x70
xor eax, 0x111
mov byte [esi + 0x62], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x112
mov byte [esi + 0x63], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
xor eax, 0x113
mov byte [esi + 0x64], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x114
mov byte [esi + 0x65], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x72
xor eax, 0x115
mov byte [esi + 0x66], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x116
mov byte [esi + 0x67], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0x117
mov byte [esi + 0x68], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x118
mov byte [esi + 0x69], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0x119
mov byte [esi + 0x6a], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x11a
mov byte [esi + 0x6b], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x69
xor eax, 0x11b
mov byte [esi + 0x6c], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x11c
mov byte [esi + 0x6d], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
xor eax, 0x11d
mov byte [esi + 0x6e], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x11e
mov byte [esi + 0x6f], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x67
xor eax, 0x11f
mov byte [esi + 0x70], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x120
mov byte [esi + 0x71], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x53
xor eax, 0x121
mov byte [esi + 0x72], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x122
mov byte [esi + 0x73], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x79
xor eax, 0x123
mov byte [esi + 0x74], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x124
mov byte [esi + 0x75], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x73
xor eax, 0x125
mov byte [esi + 0x76], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x126
mov byte [esi + 0x77], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0x127
mov byte [esi + 0x78], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x128
mov byte [esi + 0x79], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
xor eax, 0x129
mov byte [esi + 0x7a], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x12a
mov byte [esi + 0x7b], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6d
xor eax, 0x12b
mov byte [esi + 0x7c], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x12c
mov byte [esi + 0x7d], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x12d
mov byte [esi + 0x7e], al
sub esp, 8
mov dword [esp], 0xd2d2c2e7
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x12e
rol bh, cl
inc esp
and al, 4
add eax, 0xe8000000
test dword [ecx - 0x3b7c0002], edi
or byte [0x12e], dh
mov byte [esi + 0x7f], al
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x48
jae 0x42e302
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [esi + ecx + 0x38]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431b10
add esp, 8
mov ecx, dword [esi + 0xc]
mov byte [esi + ecx + 0x38], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
jmp 0x42e2cd
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov eax, dword [ecx + eax*4]
jmp eax
jl 0x42e2ad
dec esp
adc eax, 0x4c381e80
lea eax, [esi + 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, dword [esi]
mov eax, dword [esi + 0x150]
mov al, byte [eax]
mov byte [esi + 0x114], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x49
xor eax, 0xfd
xor al, 0xcf
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfc
xor al, 0xcf
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6e
xor eax, 0xfb
xor al, 0xcf
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xfa
xor al, 0xcf
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x73
xor eax, 0xf9
xor al, 0xcf
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf8
xor al, 0xcf
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0xf7
xor al, 0xcf
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf6
xor al, 0xcf
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0xf5
xor al, 0xcf
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf4
xor al, 0xcf
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6c
xor eax, 0xf3
xor al, 0xcf
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf2
xor al, 0xcf
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x6c
xor eax, 0xf1
xor al, 0xcf
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0xf0
xor al, 0xcf
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x44
xor eax, 0x8f
xor al, 0xcf
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x8e
xor al, 0xcf
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x61
xor eax, 0x8d
xor al, 0xcf
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x8c
xor al, 0xcf
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x74
xor eax, 0x8b
xor al, 0xcf
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x8a
xor al, 0xcf
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
add eax, 0x65
xor eax, 0x89
xor al, 0xcf
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x88
xor al, 0xcf
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x87
xor al, 0xcf
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0xcdee4132
mov dword [esp + 4], 5
call fcn.00419c40
add esp, 8
xor eax, 0x86
xor al, 0xcf
mov byte [ebx + 0x17], al
mov eax, 0x18
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x42e6ce
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x19
jae 0x42e71a
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431bf0
mov ebx, dword [esi + 0x88]
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
jmp 0x42e6e1
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x28]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x338], ecx
mov eax, dword [esi + 0x33c]
mov ecx, dword [esi + 0x338]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
mov eax, dword [ecx + eax*4]
jmp eax
int3
call fcn.0040a130
sub esp, 4
mov dword [esp], ebx
call fcn.00409a60
add esp, 4
mov dword [esi + 0x278], 1
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x8c], edi
call fcn.0040a130
mov dword [esi + 0x348], 1
mov eax, dword [esi + 0x34c]
mov ecx, dword [esi + 0x348]
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 eax, dword [esp + 0x174]
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0xa0]
jmp eax
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
sub esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
xor esi, esi
jmp eax
mov byte [esi], bl
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
int 0x9f
mov cl, al
mov al, byte [esp + 0x28]
mov byte [esp + 0xe4], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x57
xor eax, 0x27
mov byte [esp + 0x2c], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x28
mov byte [esp + 0x2d], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x51
xor eax, 0x29
mov byte [esp + 0x2e], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2a
mov byte [esp + 0x2f], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4c
xor eax, 0x2b
mov byte [esp + 0x30], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2c
mov byte [esp + 0x31], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2d
mov byte [esp + 0x32], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2e
mov byte [esp + 0x33], al
mov eax, 8
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 9
jne 0x42ed6b
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x84]
cmp eax, 9
jae 0x42edca
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431c30
mov ecx, dword [esp + 0x84]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
jmp 0x42ed83
lea eax, [esp + 0x2c]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov edi, eax
mov al, byte [esp + 0x24]
mov byte [esp + 0xec], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x53
xor eax, 0x7e
mov byte [esp + 0x38], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x7f
mov byte [esp + 0x39], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x45
xor eax, 0x80
mov byte [esp + 0x3a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x81
mov byte [esp + 0x3b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4c
xor eax, 0x82
mov byte [esp + 0x3c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x83
mov byte [esp + 0x3d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x45
xor eax, 0x84
mov byte [esp + 0x3e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x85
mov byte [esp + 0x3f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x43
xor eax, 0x86
mov byte [esp + 0x40], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x87
mov byte [esp + 0x41], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x54
xor eax, 0x88
mov byte [esp + 0x42], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x89
mov byte [esp + 0x43], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x20
xor eax, 0x8a
mov byte [esp + 0x44], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8b
mov byte [esp + 0x45], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x2a
xor eax, 0x8c
mov byte [esp + 0x46], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8d
mov byte [esp + 0x47], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x20
xor eax, 0x8e
mov byte [esp + 0x48], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8f
mov byte [esp + 0x49], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x46
xor eax, 0x90
mov byte [esp + 0x4a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x91
mov byte [esp + 0x4b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x52
xor eax, 0x92
mov byte [esp + 0x4c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x93
mov byte [esp + 0x4d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4f
xor eax, 0x94
mov byte [esp + 0x4e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x95
mov byte [esp + 0x4f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4d
xor eax, 0x96
mov byte [esp + 0x50], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x97
mov byte [esp + 0x51], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x20
xor eax, 0x98
mov byte [esp + 0x52], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x99
mov byte [esp + 0x53], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x41
xor eax, 0x9a
mov byte [esp + 0x54], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9b
mov byte [esp + 0x55], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6e
xor eax, 0x9c
mov byte [esp + 0x56], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9d
mov byte [esp + 0x57], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0x9e
mov byte [esp + 0x58], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9f
mov byte [esp + 0x59], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x69
xor eax, 0xa0
mov byte [esp + 0x5a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa1
mov byte [esp + 0x5b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x56
xor eax, 0xa2
mov byte [esp + 0x5c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa3
mov byte [esp + 0x5d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x69
xor eax, 0xa4
mov byte [esp + 0x5e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa5
mov byte [esp + 0x5f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0xa6
mov byte [esp + 0x60], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa7
mov byte [esp + 0x61], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x75
xor eax, 0xa8
mov byte [esp + 0x62], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa9
mov byte [esp + 0x63], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x73
xor eax, 0xaa
mov byte [esp + 0x64], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xab
mov byte [esp + 0x65], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x50
xor eax, 0xac
mov byte [esp + 0x66], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xad
mov byte [esp + 0x67], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0xae
mov byte [esp + 0x68], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xaf
mov byte [esp + 0x69], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6f
xor eax, 0xb0
mov byte [esp + 0x6a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb1
mov byte [esp + 0x6b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x64
xor eax, 0xb2
mov byte [esp + 0x6c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb3
mov byte [esp + 0x6d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x75
xor eax, 0xb4
mov byte [esp + 0x6e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb5
mov byte [esp + 0x6f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x63
xor eax, 0xb6
mov byte [esp + 0x70], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb7
mov byte [esp + 0x71], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xb8
mov byte [esp + 0x72], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb9
mov byte [esp + 0x73], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xba
mov byte [esp + 0x74], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbb
mov byte [esp + 0x75], al
mov eax, 0x3e
mov byte [esp + eax + 0x38], 0
add eax, 1
cmp eax, 0x44
jne 0x42f548
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x44
jae 0x42f5a7
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ecx, byte [esp + ecx + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431c50
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0x38], al
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x42f560
lea eax, [esp + 0x38]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x50]
lea esi, [esp + 0x9c]
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 + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0xb0], ebx
lea edx, [esp + 0x310]
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
lea edi, [esp + 0x14c]
mov eax, edx
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x14c]
add eax, 4
add edx, 4
mov ebx, edx
mov edi, eax
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
xor ecx, ecx
mov edi, ecx
add ecx, 0xffffffff
cmp edi, 0
je 0x42f6a9
mov edi, edx
add edi, 1
mov dl, byte [edx]
mov ebx, eax
add ebx, 1
mov byte [eax], dl
mov eax, ebx
mov edx, edi
jmp 0x42f68b
mov bl, byte [esp + 0x14d]
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x200], 1
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x158]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0x158]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0042ac00
mov esi, eax
add esi, 1
mov dword [esp], esi
call fcn.00409a50
mov ecx, dword [esp + 0x16c]
mov dword [ecx], eax
mov edx, dword [esp + 0x158]
shl edi, 1
mov ecx, edx
add ecx, edi
mov dword [esp + 0x164], ecx
mov edi, eax
add edi, esi
mov ecx, edi
add ecx, 0xffffffff
cmp eax, ecx
jae 0x42f7cb
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x164]
test ebx, ebx
sete cl
mov esi, edx
mov edx, esi
sub edx, ebx
mov ebx, dword [esp + 0xb0]
setb dl
or cl, dl
test cl, 1
jne 0x42f78d
jmp 0x42f7cb
mov dx, word [esi]
movzx ecx, dx
cmp dx, 0
je 0x42f7cb
add esi, 2
mov dword [esp + 0x168], esi
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.00431970
mov edx, dword [esp + 0x168]
mov ecx, eax
mov eax, esi
add eax, ecx
jmp 0x42f758
mov byte [eax], 0
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0xac]
jmp eax
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x28]
mov byte [esp + 0xe8], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x57
xor eax, 0x27
mov byte [esp + 0x2c], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x28
mov byte [esp + 0x2d], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x51
xor eax, 0x29
mov byte [esp + 0x2e], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2a
mov byte [esp + 0x2f], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4c
xor eax, 0x2b
mov byte [esp + 0x30], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2c
mov byte [esp + 0x31], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2d
mov byte [esp + 0x32], al
mov dword [esp], 0x68c73a27
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x2e
mov byte [esp + 0x33], al
mov eax, 8
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 9
jne 0x42f8ff
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x80]
cmp eax, 9
jae 0x42f95e
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431c30
mov ecx, dword [esp + 0x80]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
jmp 0x42f917
lea eax, [esp + 0x2c]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov edi, eax
mov al, byte [esp + 0x24]
mov byte [esp + 0xf0], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x53
xor eax, 0x7e
mov byte [esp + 0x38], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x7f
mov byte [esp + 0x39], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x45
xor eax, 0x80
mov byte [esp + 0x3a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x81
mov byte [esp + 0x3b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4c
xor eax, 0x82
mov byte [esp + 0x3c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x83
mov byte [esp + 0x3d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x45
xor eax, 0x84
mov byte [esp + 0x3e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x85
mov byte [esp + 0x3f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x43
xor eax, 0x86
mov byte [esp + 0x40], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x87
mov byte [esp + 0x41], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x54
xor eax, 0x88
mov byte [esp + 0x42], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x89
mov byte [esp + 0x43], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x20
xor eax, 0x8a
mov byte [esp + 0x44], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8b
mov byte [esp + 0x45], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x2a
xor eax, 0x8c
mov byte [esp + 0x46], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8d
mov byte [esp + 0x47], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x20
xor eax, 0x8e
mov byte [esp + 0x48], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8f
mov byte [esp + 0x49], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x46
xor eax, 0x90
mov byte [esp + 0x4a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x91
mov byte [esp + 0x4b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x52
xor eax, 0x92
mov byte [esp + 0x4c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x93
mov byte [esp + 0x4d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4f
xor eax, 0x94
mov byte [esp + 0x4e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x95
mov byte [esp + 0x4f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4d
xor eax, 0x96
mov byte [esp + 0x50], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x97
mov byte [esp + 0x51], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x20
xor eax, 0x98
mov byte [esp + 0x52], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x99
mov byte [esp + 0x53], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x41
xor eax, 0x9a
mov byte [esp + 0x54], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9b
mov byte [esp + 0x55], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6e
xor eax, 0x9c
mov byte [esp + 0x56], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9d
mov byte [esp + 0x57], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0x9e
mov byte [esp + 0x58], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9f
mov byte [esp + 0x59], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x69
xor eax, 0xa0
mov byte [esp + 0x5a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa1
mov byte [esp + 0x5b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x56
xor eax, 0xa2
mov byte [esp + 0x5c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa3
mov byte [esp + 0x5d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x69
xor eax, 0xa4
mov byte [esp + 0x5e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa5
mov byte [esp + 0x5f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0xa6
mov byte [esp + 0x60], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa7
mov byte [esp + 0x61], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x75
xor eax, 0xa8
mov byte [esp + 0x62], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa9
mov byte [esp + 0x63], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x73
xor eax, 0xaa
mov byte [esp + 0x64], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xab
mov byte [esp + 0x65], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x50
xor eax, 0xac
mov byte [esp + 0x66], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xad
mov byte [esp + 0x67], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0xae
mov byte [esp + 0x68], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xaf
mov byte [esp + 0x69], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6f
xor eax, 0xb0
mov byte [esp + 0x6a], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb1
mov byte [esp + 0x6b], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x64
xor eax, 0xb2
mov byte [esp + 0x6c], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb3
mov byte [esp + 0x6d], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x75
xor eax, 0xb4
mov byte [esp + 0x6e], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb5
mov byte [esp + 0x6f], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x63
xor eax, 0xb6
mov byte [esp + 0x70], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb7
mov byte [esp + 0x71], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xb8
mov byte [esp + 0x72], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb9
mov byte [esp + 0x73], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xba
mov byte [esp + 0x74], al
mov dword [esp], 0x5426e7e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbb
mov byte [esp + 0x75], al
mov eax, 0x3e
mov byte [esp + eax + 0x38], 0
add eax, 1
cmp eax, 0x44
jne 0x4300dc
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x88]
cmp eax, 0x44
jae 0x43013b
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x88]
movzx ecx, byte [esp + ecx + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431c50
mov ecx, dword [esp + 0x88]
mov byte [esp + ecx + 0x38], al
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x88], eax
jmp 0x4300f4
lea eax, [esp + 0x38]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov esi, dword [esp + 0xa8]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x50]
lea edx, [esp + 0x9c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x174], 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 + 0x2e0], 0
mov edx, dword [esp + 0x2e4]
mov esi, dword [esp + 0x2e0]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040a130
lea eax, [esp + 0x150]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
xor eax, eax
cmp dword [esp + 0xa0], 0
sete cl
mov dword [esp + 0x230], 0
mov edx, dword [esp + 0x234]
mov esi, dword [esp + 0x230]
mov edx, dword [edx + esi*4]
jmp edx
movzx eax, al
and eax, 1
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
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
mov dword [esp + 0xac], edi
mov dword [esp], 0xc
call fcn.00409a50
mov dword [eax], 0
mov esi, eax
add esi, 4
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov dword [eax + 8], 0
lea eax, [esp + 0x308]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x98]
mov al, byte [esp + 0xd4]
mov byte [esp + 0xf4], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x70
xor eax, 0x4d
xor al, 0xba
mov byte [esp + 0x12c], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x42
xor al, 0xba
mov byte [esp + 0x12d], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0x43
xor al, 0xba
mov byte [esp + 0x12e], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x40
xor al, 0xba
mov byte [esp + 0x12f], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6f
xor eax, 0x41
xor al, 0xba
mov byte [esp + 0x130], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x46
xor al, 0xba
mov byte [esp + 0x131], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x64
xor eax, 0x47
xor al, 0xba
mov byte [esp + 0x132], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x44
xor al, 0xba
mov byte [esp + 0x133], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x75
xor eax, 0x45
xor al, 0xba
mov byte [esp + 0x134], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xba
xor al, 0xba
mov byte [esp + 0x135], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x63
xor eax, 0xbb
xor al, 0xba
mov byte [esp + 0x136], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb8
xor al, 0xba
mov byte [esp + 0x137], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xb9
xor al, 0xba
mov byte [esp + 0x138], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbe
xor al, 0xba
mov byte [esp + 0x139], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x53
xor eax, 0xbf
xor al, 0xba
mov byte [esp + 0x13a], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbc
xor al, 0xba
mov byte [esp + 0x13b], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xbd
xor al, 0xba
mov byte [esp + 0x13c], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb2
xor al, 0xba
mov byte [esp + 0x13d], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x61
xor eax, 0xb3
xor al, 0xba
mov byte [esp + 0x13e], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb0
xor al, 0xba
mov byte [esp + 0x13f], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xb1
xor al, 0xba
mov byte [esp + 0x140], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb6
xor al, 0xba
mov byte [esp + 0x141], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0xb7
xor al, 0xba
mov byte [esp + 0x142], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb4
xor al, 0xba
mov byte [esp + 0x143], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb5
xor al, 0xba
mov byte [esp + 0x144], al
mov dword [esp], 0x4e8f52f7
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xaa
xor al, 0xba
mov byte [esp + 0x145], al
mov eax, 0x1a
mov byte [esp + eax + 0x12c], 0
add eax, 1
cmp eax, 0x20
jne 0x430639
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x90]
cmp eax, 0x20
jae 0x4306a1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
movzx ecx, byte [esp + ecx + 0x12c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431c80
mov ecx, dword [esp + 0x90]
mov byte [esp + ecx + 0x12c], al
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
jmp 0x430654
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x308]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x12c]
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 + 0x308]
sub cx, 3
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0xac]
jmp eax
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa0], 0
jmp eax
mov dr5, ecx
add edi, 0xffffff84
and al, 0xa4
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x9c2484], cl
add byte [eax], al
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xa4]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x98]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x2b8], 1
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2b8]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x308]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x150]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov esi, dword [esp + 0x98]
mov al, byte [esp + 0xb4]
mov byte [esp + 0xf8], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x64
xor eax, 0x8e
mov byte [esp + 0xb8], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x8f
mov byte [esp + 0xb9], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x69
xor eax, 0x90
mov byte [esp + 0xba], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x91
mov byte [esp + 0xbb], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x73
xor eax, 0x92
mov byte [esp + 0xbc], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x93
mov byte [esp + 0xbd], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x70
xor eax, 0x94
mov byte [esp + 0xbe], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x95
mov byte [esp + 0xbf], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6c
xor eax, 0x96
mov byte [esp + 0xc0], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x97
mov byte [esp + 0xc1], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x61
xor eax, 0x98
mov byte [esp + 0xc2], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x99
mov byte [esp + 0xc3], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x79
xor eax, 0x9a
mov byte [esp + 0xc4], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9b
mov byte [esp + 0xc5], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4e
xor eax, 0x9c
mov byte [esp + 0xc6], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9d
mov byte [esp + 0xc7], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x61
xor eax, 0x9e
mov byte [esp + 0xc8], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x9f
mov byte [esp + 0xc9], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6d
xor eax, 0xa0
mov byte [esp + 0xca], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa1
mov byte [esp + 0xcb], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0xa2
mov byte [esp + 0xcc], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa3
mov byte [esp + 0xcd], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa4
mov byte [esp + 0xce], al
mov dword [esp], 0xf127398e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xa5
mov byte [esp + 0xcf], al
mov eax, 0x18
mov byte [esp + eax + 0xb8], 0
add eax, 1
cmp eax, 0x19
jne 0x430b54
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0x94]
cmp eax, 0x19
jae 0x430bbc
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
movzx ecx, byte [esp + ecx + 0xb8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431ca0
mov ecx, dword [esp + 0x94]
mov byte [esp + ecx + 0xb8], al
mov eax, dword [esp + 0x94]
inc eax
mov dword [esp + 0x94], eax
jmp 0x430b6f
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x150]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xb8]
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 + 0x150]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x2c8], 0
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 3
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
call fcn.0040a130
mov dword [esp + 0x218], 0
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xa0], 0
jmp eax
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x254]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0xb0]
jmp eax
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x268], 0
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0xac]
jmp eax
call fcn.0040a130
mov dword [esp + 0x220], 0
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov ecx, dword [ecx + eax*4]
mov eax, 3
jmp ecx
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x294]
mov edx, dword [esp + 0x290]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov byte [esi], bl
mov dword [esp + 0x260], 1
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x2d0], 0
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0xd8]
mov byte [esp + 0xe0], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x52
xor eax, 0xb8
mov byte [esp + 0xfc], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xb9
mov byte [esp + 0xfd], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4f
xor eax, 0xba
mov byte [esp + 0xfe], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbb
mov byte [esp + 0xff], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x4f
xor eax, 0xbc
mov byte [esp + 0x100], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbd
mov byte [esp + 0x101], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x54
xor eax, 0xbe
mov byte [esp + 0x102], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xbf
mov byte [esp + 0x103], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x5c
xor eax, 0xc0
mov byte [esp + 0x104], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xc1
mov byte [esp + 0x105], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x53
xor eax, 0xc2
mov byte [esp + 0x106], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xc3
mov byte [esp + 0x107], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0xc4
mov byte [esp + 0x108], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xc5
mov byte [esp + 0x109], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x63
xor eax, 0xc6
mov byte [esp + 0x10a], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xc7
mov byte [esp + 0x10b], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x75
xor eax, 0xc8
mov byte [esp + 0x10c], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xc9
mov byte [esp + 0x10d], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0xca
mov byte [esp + 0x10e], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xcb
mov byte [esp + 0x10f], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x69
xor eax, 0xcc
mov byte [esp + 0x110], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xcd
mov byte [esp + 0x111], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xce
mov byte [esp + 0x112], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xcf
mov byte [esp + 0x113], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x79
xor eax, 0xd0
mov byte [esp + 0x114], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xd1
mov byte [esp + 0x115], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x43
xor eax, 0xd2
mov byte [esp + 0x116], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xd3
mov byte [esp + 0x117], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0xd4
mov byte [esp + 0x118], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xd5
mov byte [esp + 0x119], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x6e
xor eax, 0xd6
mov byte [esp + 0x11a], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xd7
mov byte [esp + 0x11b], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x74
xor eax, 0xd8
mov byte [esp + 0x11c], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xd9
mov byte [esp + 0x11d], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x65
xor eax, 0xda
mov byte [esp + 0x11e], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xdb
mov byte [esp + 0x11f], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x72
xor eax, 0xdc
mov byte [esp + 0x120], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xdd
mov byte [esp + 0x121], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x32
xor eax, 0xde
mov byte [esp + 0x122], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xdf
mov byte [esp + 0x123], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xe0
mov byte [esp + 0x124], al
mov dword [esp], 0x5d07cdb8
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0xe1
mov byte [esp + 0x125], al
mov eax, 0x2a
mov byte [esp + eax + 0xfc], 0
add eax, 1
cmp eax, 0x2e
jne 0x431374
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x7c]
cmp eax, 0x2e
jae 0x4313c7
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
movzx ecx, byte [esp + ecx + 0xfc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00431c10
mov ecx, dword [esp + 0x7c]
mov byte [esp + ecx + 0xfc], al
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x7c], eax
jmp 0x43138c
lea eax, [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ebx, eax
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xa8]
mov dword [esp + 0x20], edx
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x24
not eax
shr eax, 0x1f
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [eax + ecx*4]
xor esi, esi
jmp eax
call fcn.0040a130
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040a130
mov dword [esp + 0x208], 0
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x238], 0
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
lahf
push 0x58
or byte [ebp + 0x1502484], 0
add byte [ecx + 0x30a12404], cl
inc esp
add bh, bh
rol byte [ebx - 0x7b74fb14], 1
and al, 0x90
add dword [eax], eax
add byte [ebx + 0x194248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xa4]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x98]
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 + 0xa4]
test edx, edx
sete dl
or al, dl
or al, cl
mov dword [esp + 0x2b0], 0
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xa0], ecx
jmp eax
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x29c]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
call fcn.0040a130
mov dword [esp + 0x2e8], 0
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x228]
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
dec edx
or dl, dh
pushal
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
aaa
inc edx
add dl, al
cmp dword [edx], eax
xchg edx, eax
cmp al, 66
add byte [eax], dl
cmp al, 0x42