Function at 0x43b166
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov eax, dword [0x450e98]
mov dword [esp], 0x1f49197d
mov dword [esp + 4], 0x63d51da5
mov dword [esp + 8], 0x67c361d4
mov dword [esp + 0xc], 0x6b2e65c9
mov dword [esp + 0x10], 0x6fc769de
mov dword [esp + 0x14], 0x73d76dd6
mov dword [esp + 0x18], 0x77767115
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov ecx, esp
mov edx, 0x45
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ecx]
lea edi, [esi + esi]
not edi
add edi, esi
mov ebx, edi
xor ebx, esi
sub ebx, edi
and edi, esi
add ebx, edi
or ebx, edx
and esi, edx
not ebx
or ebx, esi
add bl, 0x5e
mov byte [ecx], bl
inc ecx
dec edx
cmp edx, 0x26
jne case.default.0x43a8c0
lea ecx, [esp + 0x54]
lea ebx, [esp + 0x7c]
mov edi, esp
push ecx
push 8
push ebx
push 0xd
push edi
push 0
call eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e250]
jmp 0x43a8d7
mov word [esp + 0x7c], 0x43
mov word [esp + 0x7e], 0x3a
mov word [esp + 0x80], 0x5c
mov word [esp + 0x82], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 0
lea eax, [esp + 0x44]
push eax
push 0x447b20
push 1
push 0
push 0x447b30
call dword [sym.imp.ole32.dll_CoCreateInstance]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e258]
mov dword [esp], 0x790b7b02
mov dword [esp + 4], 0x651a6709
mov dword [esp + 8], 0x612f6300
mov dword [esp + 0xc], 0x6d1d6f17
mov dword [esp + 0x10], 0x69346b16
mov dword [esp + 0x14], 0x9768
mov eax, 0x1363c06b
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x1363c06b]
lea edx, [eax - 0x1363c000]
and edx, ecx
or ecx, eax
xor ecx, edx
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0xe8
mov byte [esp + eax - 0x1363c06b], cl
inc eax
cmp eax, 0x1363c083
jne 0x43a970
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
lea edx, [esp + 0x40]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push eax
call dword [ecx + 0xc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e260]
mov dword [esp + 0x34], esi
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x5c]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e268]
mov dword [esp], 0x79057b05
mov dword [esp + 4], 0x6566670c
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xeb
xor cl, byte [esp + eax]
add cl, 0x69
mov byte [esp + eax], cl
inc eax
cmp eax, 0xa
jne 0x43aa20
mov ebx, esp
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp], 0xd981db91
mov dword [esp + 4], 0xdd85df84
mov dword [esp + 8], 0xd186d399
mov dword [esp + 0xc], 0xd5e8d7f0
mov dword [esp + 0x10], 0xe9b0ebf4
mov dword [esp + 0x14], 0xedbfefbe
mov dword [esp + 0x18], 0xe1c2e3bf
mov dword [esp + 0x1c], 0xe599e789
mov dword [esp + 0x20], 0xf9cffb96
mov dword [esp + 0x24], 0xfd9fffce
mov dword [esp + 0x28], 0xf1adf3ba
mov dword [esp + 0x2c], 0xf5a3f7a1
mov dword [esp + 0x30], 0xbf4
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x4f
xor cl, byte [esp + eax]
add cl, 0x75
mov byte [esp + eax], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0x34
jb case.default.0x43aaf5
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
lea edx, [esp + 0x50]
push edx
push 0
push 0x30
push ebx
mov dword [esp + 0x58], esi
push esi
push eax
call dword [ecx + 0x50]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e270]
mov edi, dword [esp + 0x48]
jmp dword [0x44e2c4]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
lea esi, [esp + 0x3c]
push edx
push esi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
setns cl
cmp eax, 1
setne al
cmp dword [esp + 0x4c], 0
setne dl
and dl, al
and dl, cl
movzx eax, dl
jmp dword [eax*4 + 0x44e278]
lea esi, [esp + 0x68]
jmp dword [0x44e284]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x3c]
mov dword [esp], 0x33af3183
mov dword [esp + 4], 0x2fb72dbe
mov dword [esp + 8], 0x2bbe2989
mov dword [esp + 0xc], 0x27ab2592
mov dword [esp + 0x10], 0x238021b5
mov dword [esp + 0x14], 0x1f8c1d81
mov word [esp + 0x18], 0x1918
mov dword [esp + 0x1a], 0
mov ecx, 0x4c
mov edx, 0x8f7914b3
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x4c]
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, edx
mov esi, 0xec0364d1
sub esi, edi
mov edi, esi
and edi, 3
xor esi, 0x83
lea ebx, [esi + edi*2]
add bl, 0x2f
mov byte [esp + ecx - 0x4c], bl
inc ecx
dec edx
cmp ecx, 0x6a
jne 0x43abb0
mov ecx, dword [eax]
push 0
push 0
lea esi, [esp + 0x70]
push esi
push 0
lea edx, [esp + 0x10]
push edx
push eax
call dword [ecx + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x3c]
mov dword [esp], 0x33af3183
mov dword [esp + 4], 0x2fb72dbe
mov dword [esp + 8], 0x2bbe2989
mov dword [esp + 0xc], 0x27ab2592
mov dword [esp + 0x10], 0x238021b5
mov dword [esp + 0x14], 0x1f8c1d81
mov word [esp + 0x18], 0x1918
mov dword [esp + 0x1a], 0
mov ecx, 0x4c
mov edx, 0x8f7914b3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x4c]
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, edx
mov esi, 0xec0364d1
sub esi, edi
mov edi, esi
and edi, 3
xor esi, 0x83
lea ebx, [esi + edi*2]
add bl, 0x2f
mov byte [esp + ecx - 0x4c], bl
inc ecx
dec edx
cmp ecx, 0x6a
jne 0x43ac60
mov ecx, dword [eax]
push 0
push 0
lea esi, [esp + 0x70]
push esi
push 0
lea ebx, [esp + 0x10]
push ebx
push eax
call dword [ecx + 0x10]
jmp dword [0x44e288]
test eax, eax
setns al
cmp word [esp + 0x68], 8
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44e290]
jmp dword [0x44e29c]
mov edi, dword [esp + 0x70]
movzx ecx, word [edi]
xor ebx, ebx
test cx, cx
je 0x43ad2b
lea eax, [edi + 2]
xor ebx, ebx
jmp 0x43acfc
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x43ad2b
cmp cx, 0x7f
jbe 0x43acf0
movzx edx, cx
cmp edx, 0x7ff
ja 0x43ad20
add ebx, 2
jmp 0x43acf1
cmp cx, 0xffff
je 0x43acf1
add ebx, 3
jmp 0x43acf1
inc ebx
push ebx
call fcn.0040c820
add esp, 4
push edi
push ebx
push eax
call fcn.0042a000
add esp, 0xc
mov ebx, dword [esp + 0x70]
movzx ecx, word [ebx]
xor edi, edi
test cx, cx
je 0x43ad9b
lea eax, [ebx + 2]
xor edi, edi
jmp 0x43ad6c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x43ad9b
cmp cx, 0x7f
jbe 0x43ad60
movzx edx, cx
cmp edx, 0x7ff
ja 0x43ad90
add edi, 2
jmp 0x43ad61
cmp cx, 0xffff
je 0x43ad61
add edi, 3
jmp 0x43ad61
lea esi, [edi + 1]
push esi
call fcn.0040c820
add esp, 4
push ebx
mov ebx, eax
push esi
push eax
call fcn.0042a000
add esp, 0xc
jmp dword [0x44e2a4]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x44e2a8]
mov ecx, eax
and ecx, 4
mov edx, eax
or edx, 4
imul edx, ecx
xor ecx, 4
mov esi, eax
and esi, 0xfffffffb
imul esi, ecx
add edx, ebx
mov ecx, dword [esi + edx]
mov dword [esp + eax*4 + 0x54], ecx
add edi, 0xfffffffc
xor ecx, ecx
cmp edi, 4
setb cl
jmp dword [ecx*4 + 0x44e2b0]
inc eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x44e2a8]
lea esi, [esp + 0x68]
jmp dword [0x44e2b8]
push ebx
call fcn.0040c830
add esp, 4
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
jmp dword [0x44e2c4]
mov eax, dword [esp]
mov dword [esp + 0x54], eax
xor edi, edi
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x44e2d8]
mov eax, dword [esp + ecx*4 + 0x54]
mov esi, ecx
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
mov dword [esp + edi*4 + 0x54], eax
push 0x10
push 9
push dword [esp + 0x40]
push eax
call fcn.00433200
mov ecx, esi
add esp, 0x10
mov dword [esp + 0x34], ecx
mov eax, dword [esp + ecx*4 + 0x54]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
mov dword [esp + edi*4 + 0x54], eax
mov esi, 0xffffffff
mov ebx, 0xfffffffe
push 0x10
push 9
push dword [esp + 0x40]
push eax
call fcn.00433200
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + esi + 1], 0
lea esi, [esi + 1]
jne 0x43af10
mov ecx, dword [esp + 0x34]
jmp dword [0x44e318]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44e2f0]
mov eax, dword [case.0x43aaf5.36]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp dword [esp + edi*4 + 0x54], 0
sete al
jmp dword [eax*4 + 0x44e308]
mov ecx, edi
jmp dword [0x44e314]
lea ecx, [edi - 1]
jmp dword [0x44e314]
not ebx
and ebx, 0x10
xor esi, 8
sub esi, ebx
xor edx, edx
cmp esi, 0
setne dl
xor ecx, ecx
jmp dword [edx*4 + 0x44e320]
mov byte [eax + ecx - 1], 0x30
dec ecx
xor edx, edx
cmp esi, ecx
setne dl
jmp dword [edx*4 + 0x44e320]
add dword [esp + 0x38], 8
inc edi
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x44e2d8]
jmp dword [0x44e2ec]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [esp + 0x34]
mov edi, esp
lea ebx, [esp + 0x7c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp], 0
push 0xd2e7977e
push dword [0x450e90]
call fcn.00443b10
add esp, 8
push 0
push 0
push 0
push 0
push edi
push 0
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44e2d0]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call esi
push ebx
call esi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call esi
push ebx
call esi
jmp dword [0x44e2cc]
xor eax, eax
jmp 0x43b2ba
mov ebp, dword [esp + 0x3c]
push 0x400
call fcn.0043dd20
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x585b5a45
mov byte [esp + 8], 0
mov ecx, 0xb038c6f
nop
nop
nop
movzx edx, byte [esp + ecx - 0xb038c6b]
mov edi, ecx
and edi, edx
add edi, edi
sub edx, edi
add edx, ecx
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
add dl, 0xd4
mov byte [esp + ecx - 0xb038c6b], dl
inc ecx
cmp ecx, 0xb038c74
jne 0x43b0c0
mov ecx, dword [esp + 4]
mov edx, dword [0x450e9c]
test edx, edx
je case.default.0x43b2ef
xor edi, edi
mov ebx, dword [0x450ea0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xa70a987f
je 0x43b120
inc edi
cmp edx, edi
jne 0x43b110
jmp case.default.0x43b2ef
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
jne 0x43b2c2
not ecx
shr ecx, 0x1f
mov dword [esp], 0
mov ebx, ebp
jmp dword [ecx*4 + 0x44e330]
xor ecx, ecx
xor eax, eax
mov dword [esp], 0
cmp ecx, dword [esi]
setb al
xor ebp, ebp
mov dword [esp + 0x18], esi
jmp dword [eax*4 + 0x44e338]
jmp dword [0x44e348]
push esi
call fcn.0043dd60
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0x585b5a45
mov byte [esp + 8], 0
mov ecx, 0xb038c6f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0xb038c6b]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
add dl, 0xd4
mov byte [esp + ecx - 0xb038c6b], dl
inc ecx
cmp ecx, 0xb038c74
jne 0x43b190
mov ecx, dword [0x450e9c]
test ecx, ecx
je 0x43b2b5
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x450ea0]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x43b29b
inc esi
cmp ecx, esi
jne 0x43b1e0
jmp 0x43b2b5
mov ebx, esi
lea ecx, [esp + 4]
call fcn.0043e1c0
inc ebp
xor eax, eax
mov esi, dword [esp + 0x18]
cmp ebp, dword [esi]
setb al
jmp dword [eax*4 + 0x44e338]
mov eax, dword [esi + ebp*4 + 4]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea edi, [esp + 4]
mov ecx, edi
push 0
push eax
call fcn.0043e000
mov eax, ebx
neg eax
mov eax, 0
mov esi, ebx
mov ebx, dword [esp + 0x40]
sbb eax, ebx
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
mov ecx, edi
push eax
call fcn.0043e020
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e350]
lea ecx, [esp + 4]
push ebx
push esi
push 0
call fcn.0043e280
test eax, eax
setns al
mov dword [esp], eax
jmp case.0x43b2ef.8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x43b2b5
push eax
push 1
push dword [0x450ea4]
push ecx
call fcn.00441230
add esp, 0x10
mov eax, dword [esp]
and al, 1
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x1c]
push 0x2f
push 0x400
push esi
push ecx
push eax
push 5
push dword [0x450ea4]
push edx
call fcn.00441230
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp], 0
mov ebx, ebp
jmp dword [eax*4 + 0x44e330]
add ebx, 0xfffffffe
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
mov word [ebx], 0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
mov ebp, esi
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp eax
mov ebx, dword [esp + 0xc]
mov word [ebx], 0x5c
add ebx, 2
add ebp, 2
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x298]
mov eax, dword [ecx + eax*4]
mov esi, ebp
jmp eax
mov ax, word [ebx]
xor ecx, ecx
sub ax, 0x5c
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 eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
call fcn.0041cb20
lea ebx, [ebx + esi*2]
lea esi, [ebp + esi*2]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0xc], ebx
mov dword [esp], ebp
mov dword [esp + 4], 0x5c
call fcn.0043c800
mov esi, eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov esi, ebx
add esi, 0xfffffffe
mov dword [esp + 0x134], 1
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x134]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov cx, word [ebp]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [esp + 0x2a4], 1
mov edx, dword [esp + 0x2a8]
mov edi, dword [esp + 0x2a4]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040e070
mov dword [esp + 0x27c], 1
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x27c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov dword [esp + 0x13c], 0
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
mov eax, dword [eax + ecx*4]
jmp eax
mov word [edi], 0x5c
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e070
mov dword [esp + 0x1a4], 1
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, ebp
add edx, 2
mov ax, word [ebp + 2]
xor ecx, ecx
sub ax, 0x2e
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
call fcn.0040e070
mov esi, ebp
add esi, 4
mov dword [esp + 0xec], 0
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, ebx
mov edi, dword [esp + 0x314]
sub ecx, edi
seta al
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x268]
mov ecx, dword [esp + 0x264]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebx]
test ax, ax
sete al
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, edi
add eax, 4
mov cx, word [edi + 4]
xor edx, edx
test cx, cx
sete dl
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040e070
mov dword [esp + 0x2ac], 1
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [edi]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0xcc], ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov eax, ebx
add eax, 0xfffffffe
mov dword [esp + 0x214], 1
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x214]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov ecx, dword [ecx + eax*4]
mov eax, ebx
jmp ecx
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x284], ecx
mov eax, dword [esp + 0x288]
ror dword [ecx + 0x284248c], 0
add byte [ebx + 0x2882484], cl
add byte [eax], al
mov ecx, dword [esp + 0x284]
mov eax, dword [eax + ecx*4]
jmp eax
sbb byte [edx + 0x75d09d5f], dl
ja 0x43c09a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
push 0xff81048b
loopne 0x43c05a
invalid
mov ecx, 0x8b66f361
inc esp
and al, 0x3c
popal
mov ax, word [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
not al
movzx eax, al
and eax, 1
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp eax
xor eax, eax
mov ecx, ebx
sub ecx, 2
sete al
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
inc al
movzx eax, al
and eax, 1
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov dword [esp + 0x2e4], 0
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], ebp
call fcn.0041cee0
lea esi, [ebp + eax*2]
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2f0]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e070
mov word [edi], 0
mov dword [esp + 0x2dc], 0
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
add dword [eax], eax
add byte [ebx + 0x1c02484], cl
add byte [eax], al
mov ecx, dword [esp + 0x1bc]
mov eax, dword [eax + ecx*4]
jmp eax
cmp dword [edx], edi
jmp 0xe8c9e464
xchg al, ch
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
outsd dx, dword [esi]
mov ecx, 0x1c8855e7
jb 0x43c2a5
mov word [edi], 0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [edi]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x23c], ecx
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x23c]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
jns 0x43c21a
dec ebx
js 0x43c1fe
inc esp
and al, 0x4c
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
add ebp, 4
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [ecx + eax*4]
mov esi, ebp
mov edi, dword [esp + 0x314]
jmp eax
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov word [eax], 0x5c
mov word [edi + 6], 0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x18], al
mov byte [esp + 0x2c], 0xca
mov byte [esp + 0x2d], 0xb
mov byte [esp + 0x2e], 0xee
mov byte [esp + 0x2f], 9
mov byte [esp + 0x30], 8
mov byte [esp + 0x31], 7
mov eax, 6
mov byte [esp + eax + 0x2c], 0
add eax, 1
cmp eax, 0xc
jne 0x43c320
xor eax, eax
cmp eax, 0xc
jae 0x43c3a6
mov dl, byte [esp + eax + 0x2c]
movzx edi, dl
mov ecx, eax
add ecx, 0xfa935d43
mov ebp, 0x56ca2bc
sub ebp, eax
and ebp, 0x9dae9743
mov ebx, ecx
and ebx, 0x625168bc
or ebp, ebx
xor ebp, edi
xor ebp, 0x625168bc
mov ebx, ecx
and ebx, ebp
mov edi, ebx
and edi, 2
xor edi, 2
mov ebp, ebx
and ebp, 0xfd
imul ebp, edi
mov edi, ebx
and edi, 2
or ebx, 2
imul ebx, edi
mov edi, dword [esp + 0x314]
add ebx, ebp
add ebx, 0xce
sub ecx, ebx
add cl, 0xce
add cl, dl
add cl, 0xb1
mov byte [esp + eax + 0x2c], cl
add eax, 1
jmp 0x43c32f
mov ebx, edi
add ebx, 2
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0043c840
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x244], ecx
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [ecx + eax*4]
mov ebx, edi
jmp eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0xc]
jmp eax
call fcn.0040e070
mov dword [esp + 0xf4], 1
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x208]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
mov ebx, esi
jmp eax
mov dword [esp + 0x38], edx
mov cx, word [edi]
mov eax, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d8]
mov eax, dword [edx + eax*4]
jmp eax
mov ax, word [edi]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x1ac], ecx
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
mov ecx, dword [esp + 0x20c]
mov edx, dword [esp + 0x210]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
das
out 0x5b, al
mov al, byte [0x979da2f6]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
mov ax, word [ebp + 4]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x104], ecx
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x198]
mov ecx, dword [edx + ecx*4]
jmp ecx
sub esi, ebp
sar esi, 1
mov ebx, esi
inc ebx
xor eax, eax
mov ecx, ebx
sub ecx, 1
sete al
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov dword [esp + 0x11c], 0
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov ax, word [esi]
mov dword [esp + 0x19c], 0
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x19c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
mov ebp, dword [esp + 0x38]
jmp eax
call fcn.0040e070
mov dword [esp + 0x25c], 1
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [edi + 2]
xor ecx, ecx
sub ax, 0x3a
sete cl
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e070
mov dword [esp + 0x21c], 1
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, ebx
sub ecx, 3
sete al
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x314]
jmp eax
call fcn.0040e070
mov esi, ebp
add esi, 2
mov cx, word [ebp + 2]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x274], 1
mov edx, dword [esp + 0x278]
mov edi, dword [esp + 0x274]
mov edx, dword [edx + edi*4]
jmp edx
mov al, byte [esp + 0x10]
mov byte [esp + 0x1c], al
mov byte [esp + 0x20], 0xe6
mov byte [esp + 0x21], 0x39
mov byte [esp + 0x22], 0x82
mov byte [esp + 0x23], 0x3f
mov byte [esp + 0x24], 0x3c
mov byte [esp + 0x25], 0x3d
mov eax, 6
mov byte [esp + eax + 0x20], 0
add eax, 1
cmp eax, 9
jne 0x43c719
xor eax, eax
cmp eax, 9
jae 0x43c762
movzx esi, byte [esp + eax + 0x20]
mov ecx, 0x35
sub ecx, eax
or ecx, esi
mov edx, 0x35
sub edx, eax
mov ebx, edi
mov edi, 0x35
sub edi, eax
or edx, edi
mov edi, ebx
and edx, esi
xor ecx, 0xffffffff
or edx, ecx
add dl, 0xe
mov byte [esp + eax + 0x20], dl
add eax, 1
jmp 0x43c728
mov esi, edi
add esi, 2
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043c840
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1b4], ecx
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x2e
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
call fcn.0040e070
mov cx, word [edi]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x254], 0
mov edx, dword [esp + 0x258]
mov edi, dword [esp + 0x254]
mov edx, dword [edx + edi*4]
mov edi, dword [esp + 0x314]
jmp edx