Function at 0x43a3c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, dword [ebp + 8]
mov eax, dword [0x44fe7c]
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], 0xd11bcf2b
mov dword [esp + 0x10], 0xd567d36b
mov dword [esp + 0x14], 0xd971d760
mov dword [esp + 0x18], 0xdd1edb77
mov dword [esp + 0x1c], 0xa175df6e
mov dword [esp + 0x20], 0xa505a316
mov dword [esp + 0x24], 0xa9a6a743
mov word [esp + 0x28], 0
mov ecx, 0xad
mov edx, 0x52
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0xa1]
mov edi, edx
or edi, ebx
not ebx
or ebx, ecx
and ebx, edi
mov al, 0x9e
sub al, bl
mov byte [esp + ecx - 0xa1], al
inc ecx
dec edx
cmp ecx, 0xcb
jne case.default.0x439ca3
lea eax, [esp + 0x5c]
lea edi, [esp + 0x70]
lea ebx, [esp + 0xc]
push eax
push 8
push edi
push 0xd
push ebx
push 0
call dword [esp + 0x60]
shr eax, 0x1f
jmp dword [eax*4 + 0x44d32c]
jmp dword [0x44d334]
mov dword [esp + 0x70], 0x3a0043
jmp dword [0x44d334]
mov dword [esp + 0x74], 0x5c
mov dword [esp + 4], 0
lea eax, [esp + 4]
push eax
push 0x446b20
push 1
push 0
push 0x446b30
call dword [sym.imp.ole32.dll_CoCreateInstance]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x74], 0x5c
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 4], 0
lea eax, [esp + 4]
push eax
push 0x446b20
push 1
push 0
push 0x446b30
call dword [sym.imp.ole32.dll_CoCreateInstance]
jmp dword [0x44d33c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d344]
mov dword [esp + 0xc], 0xc9bbcba2
mov dword [esp + 0x10], 0xc5aac7b9
mov dword [esp + 0x14], 0xc1bfc3a0
mov dword [esp + 0x18], 0xfd8dffb7
mov dword [esp + 0x1c], 0xf9b4fb96
mov word [esp + 0x20], 0xf7f8
mov dword [esp + 0x22], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xd3
xor cl, byte [esp + eax + 0xc]
add cl, 0xe1
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x1a
jne case.default.0x439dd8
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea edx, [esp + 0x54]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x64], edi
push edi
push eax
call dword [ecx + 0xc]
not eax
shr eax, 0x1f
lea edi, [esp + 0x70]
jmp dword [eax*4 + 0x44d34c]
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x70]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d354]
mov dword [esp + 0xc], 0x8fdf8923
mov dword [esp + 0x10], 0x83828dd0
mov byte [esp + 0x14], 0
mov eax, 0x5a3ab722
mov ecx, 0xdd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x5a3ab716]
mov edi, eax
and edi, ebx
add edi, edi
mov edx, edi
not edx
and edx, eax
and edi, ecx
add edx, ebx
sub edx, edi
add dl, 0x56
mov byte [esp + eax - 0x5a3ab716], dl
inc eax
dec ecx
cmp eax, 0x5a3ab72b
jne 0x439e30
lea edi, [esp + 0xc]
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], 0x31793f69
mov dword [esp + 0x10], 0x3575336c
mov dword [esp + 0x14], 0x49623771
mov dword [esp + 0x18], 0x4d704b68
mov dword [esp + 0x1c], 0x41084f6c
mov dword [esp + 0x20], 0x45134312
mov dword [esp + 0x24], 0x5966471b
mov dword [esp + 0x28], 0x5d215b31
mov dword [esp + 0x2c], 0x516b5f22
mov dword [esp + 0x30], 0x55335362
mov dword [esp + 0x34], 0x690d5716
mov dword [esp + 0x38], 0x6d3f6b39
mov word [esp + 0x3c], 0x6f6c
mov dword [esp + 0x3e], 0
mov word [esp + 0x42], 0
mov eax, 0xb1eba0b5
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x4e145f57]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x77
mov byte [esp + eax + 0x4e145f57], cl
inc eax
cmp eax, 0xb1eba0ed
jne 0x439ef0
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x54]
mov ecx, dword [esi]
lea edx, [esp + 0x50]
push edx
push 0
push 0x30
mov dword [esp + 0x64], eax
push eax
push dword [esp + 0x54]
push esi
call dword [ecx + 0x50]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d35c]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x58]
jmp dword [0x44d3c0]
jmp dword [0x44d368]
mov dword [esp + 8], 0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
lea edx, [esp + 8]
lea edi, [esp + 0x4c]
push edx
push edi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], 0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
lea edx, [esp + 8]
lea edi, [esp + 0x4c]
push edx
push edi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
jmp dword [0x44d36c]
test eax, eax
setns cl
cmp eax, 1
setne al
cmp dword [esp + 8], 0
setne dl
and dl, al
and dl, cl
movzx eax, dl
jmp dword [eax*4 + 0x44d374]
lea ebx, [esp + 0x80]
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], 0x63076133
mov dword [esp + 0x10], 0x671f6516
mov dword [esp + 0x14], 0x7b067919
mov dword [esp + 0x18], 0x7f0b7d22
mov dword [esp + 0x1c], 0x7310710d
mov dword [esp + 0x20], 0x77047511
mov word [esp + 0x24], 0x8988
mov dword [esp + 0x26], 0
mov ecx, 0xfcbcb9ea
mov edx, 0x3434617
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x3434622]
lea eax, [ecx + 0x7ffffffe]
xor eax, edi
or eax, edx
add edi, ecx
lea eax, [edi + eax*2]
add eax, 0x77
not edi
and edi, 1
or eax, 1
xor eax, edi
lea eax, [eax + edi*2]
mov byte [esp + ecx + 0x3434622], al
inc ecx
dec edx
cmp ecx, 0xfcbcba08
jne 0x43a030
mov eax, dword [esi]
push 0
push 0
push ebx
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
call dword [eax + 0x10]
test eax, eax
setns al
cmp word [esp + 0x80], 8
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44d37c]
mov esi, dword [esp + 0x88]
movzx ecx, word [esi]
xor ebx, ebx
mov edi, 0
test cx, cx
je 0x43a0e1
lea eax, [esi + 2]
xor edi, edi
jmp 0x43a0c0
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x43a0e1
cmp cx, 0x7f
jbe 0x43a0b4
movzx edx, cx
cmp edx, 0x7ff
ja 0x43a0d6
add edi, 2
jmp 0x43a0b5
cmp cx, 0xffff
je 0x43a0b5
add edi, 3
jmp 0x43a0b5
lea eax, [edi + 1]
mov dword [esp + 0x6c], eax
push eax
call fcn.0040cbd0
add esp, 4
push esi
push dword [esp + 0x70]
mov esi, eax
push eax
call fcn.00429b10
add esp, 0xc
xor eax, eax
cmp ebx, 4
setb al
jmp dword [eax*4 + 0x44d384]
mov eax, ebx
and eax, 0xfffffffb
mov ecx, ebx
and ecx, 4
mov edx, ebx
or edx, 4
imul edx, ecx
xor ecx, 4
imul ecx, eax
add edx, esi
mov eax, dword [ecx + edx]
mov dword [esp + ebx*4 + 0x5c], eax
mov eax, edi
not eax
and eax, 4
and edi, 0xfffffffb
sub edi, eax
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x44d38c]
inc ebx
xor eax, eax
cmp ebx, 4
setb al
jmp dword [eax*4 + 0x44d384]
lea ebx, [esp + 0x80]
jmp dword [0x44d394]
jmp dword [0x44d3a0]
xor ecx, ecx
test edi, edi
setne cl
mov eax, edi
jmp dword [ecx*4 + 0x44d3dc]
jmp dword [0x44d3f0]
xor ecx, ecx
cmp dword [esp + edi*4 + 0x5c], 0
sete cl
mov eax, edi
jmp dword [ecx*4 + 0x44d3f4]
lea eax, [edi - 1]
imul eax, dword [esp + eax*4 + 0x5c], 0x1a5845
add eax, 0xebde8a13
mov dword [esp + edi*4 + 0x5c], eax
mov ebx, 0xfffffff7
push 0x10
push 9
push esi
push eax
call fcn.00432bd0
add esp, 0x10
cmp byte [eax + ebx + 9], 0
lea ebx, [ebx + 1]
jne case.default.0x43a1d4
xor edx, edx
cmp ebx, 0
setne dl
xor ecx, ecx
jmp dword [edx*4 + 0x44d3fc]
mov byte [eax + ecx - 1], 0x30
dec ecx
xor edx, edx
cmp ebx, ecx
setne dl
jmp dword [edx*4 + 0x44d3fc]
add esi, 8
inc edi
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x44d3d4]
push esi
call fcn.0040cbe0
add esp, 4
push esi
call fcn.0040cbe0
add esp, 4
jmp dword [0x44d3a4]
mov eax, dword [case.0x439dd8.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x4c]
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 ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x58]
jmp dword [0x44d3c0]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x70]
lea ebx, [esp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x48]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0xc], 0
push 0xd2e7977e
push dword [0x44fe74]
call fcn.00442e20
add esp, 8
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d3cc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
xor edi, edi
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x44d3d4]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ebx
call edi
push esi
call edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ebx
call edi
push esi
call edi
jmp dword [0x44d3c8]
xor eax, eax
jmp 0x43a440
mov ebp, dword [esp + 0x38]
push 0x400
call fcn.0043d3c0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp], 0xe8ebeae5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x27
xor dl, byte [esp + ecx]
add dl, 0x3d
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 4
jne 0x43a360
mov ecx, dword [esp]
mov edx, dword [0x44fe80]
test edx, edx
je case.default.0x43a474
xor edi, edi
mov ebx, dword [0x44fe84]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xa70a987f
je 0x43a3a0
inc edi
cmp edx, edi
jne 0x43a390
jmp case.default.0x43a474
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
jne 0x43a448
not ecx
shr ecx, 0x1f
mov dword [esp + 0x10], 0
jmp dword [ecx*4 + 0x44d40c]
push esi
call fcn.0043d430
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp], 0xe8ebeae5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x27
xor dl, byte [esp + ecx]
add dl, 0x3d
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 4
jne 0x43a3e0
mov ecx, dword [0x44fe80]
test ecx, ecx
je 0x43a43a
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44fe84]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x43a420
inc esi
cmp ecx, esi
jne 0x43a410
jmp 0x43a43a
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x43a43a
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
mov eax, dword [esp + 0x10]
and al, 1
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x18]
push 0x2f
push 0x400
push esi
push ecx
push eax
push 5
push dword [0x44fe88]
push edx
call fcn.00440600
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x44d40c]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], 0
cmp ecx, dword [esi]
setb al
xor edi, edi
jmp dword [eax*4 + 0x44d414]
mov ebp, ebx
mov ecx, esp
call fcn.0043d820
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
cmp edi, dword [esi]
setb al
jmp dword [eax*4 + 0x44d414]
jmp dword [0x44d41c]
mov eax, dword [esi + edi*4 + 4]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov ecx, esp
push 0
push eax
call fcn.0043d6a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + edi*4 + 4]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov ecx, esp
push 0
push eax
call fcn.0043d6a0
jmp dword [0x44d424]
xor eax, eax
mov ecx, ebp
neg ecx
mov ebx, ebp
mov ebp, dword [esp + 0x3c]
sbb eax, ebp
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
mov ecx, esp
push eax
call fcn.0043d6c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d42c]
mov ecx, esp
push ebp
push ebx
push 0
call fcn.0043d8c0
test eax, eax
setns al
mov dword [esp + 0x10], eax
jmp case.0x43a474.8
mov eax, dword [esp + 0x14]
mov ax, word [eax + 4]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x150], ecx
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov eax, dword [eax + ecx*4]
jmp eax
inc esi
aas
lcall 0x80, 0x24848b59
add byte [eax], al
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
add dword [eax], eax
add byte [ebx + 0x16c248c], cl
add byte [eax], al
mov ecx, dword [ecx + eax*4]
mov eax, edi
jmp ecx
sub dword [ebp + 0x32], ebp
ror byte [ebx - 0x74afdbbc], 1
dec esp
and al, 0x54
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov eax, dword [eax + ecx*4]
jmp eax
jnp 0x43b097
aaa
cmp dword [ebp - 0x53], edi
jmp 0x43b05b
mov al, cl
and eax, 1
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [0x8b753114], al
test byte [eax + ecx*4], ah
add byte [eax], al
add byte [ebx + 0x8c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0x320], 0
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
mov word [ebx], 0x5c
mov word [ebx + 2], 0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], ebp
call fcn.0041cb30
mov ecx, dword [esp + 0x388]
mov edx, dword [esp + 0x38c]
mov ecx, dword [edx + ecx*4]
jmp ecx
add edi, 0xfffffffe
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0x250], 1
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x250]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0xc]
jmp eax
call fcn.0041cb50
mov esi, ebp
add esi, 2
mov cx, word [ebp + 2]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x300], 0
mov edx, dword [esp + 0x304]
mov edi, dword [esp + 0x300]
mov edx, dword [edx + edi*4]
jmp edx
mov ax, word [ebp]
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov esi, dword [esp + 0x14]
add esi, 4
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, 0x751c54c2
out dx, eax
jmp 0x24883ee7
mov ax, word [ebx]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041cb50
mov dword [esp + 0x2f0], 0
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0xc]
jmp eax
mov eax, dword [esp + 0x14]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x210], ecx
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0xb8], 1
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov eax, dword [eax + ecx*4]
jmp eax
add byte [ebx + 0x25c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cb50
mov cx, word [edi]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [esp + 0x178], 1
mov edx, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
mov edx, dword [edx + esi*4]
jmp edx
wait
adc al, 0x6f
or dl, dl
je 0x43b427
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0x1c0], 1
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x24], al
mov byte [esp + 0x28], 0x36
mov byte [esp + 0x29], 0xcf
mov byte [esp + 0x2a], 0x12
mov byte [esp + 0x2b], 0xd1
mov byte [esp + 0x2c], 0xd0
mov byte [esp + 0x2d], 0xd3
mov eax, 6
mov byte [esp + eax + 0x28], 0
add eax, 1
cmp eax, 0xa
jne 0x43b4d9
xor eax, eax
cmp eax, 0xa
jae 0x43b55c
movzx esi, byte [esp + eax + 0x28]
mov edx, eax
add edx, 0xad92a2d
mov ecx, esi
shl ecx, 1
xor ecx, 0xffffffff
add ecx, esi
and ecx, 0xe5026ef5
and esi, 0xa
mov edi, 0x9526d5d2
sub edi, eax
or ecx, esi
and edi, 0xe5026ef5
and edx, 0x1afd910a
or edx, edi
xor ecx, edx
mov esi, ecx
shl esi, 1
and esi, 0xd3845a3c
mov edx, ecx
xor edx, 0xe9c22d1e
add edx, esi
and ecx, 1
mov esi, edx
and esi, 0xfe
mov edi, edx
xor edi, 1
add edx, edi
mov edi, dword [esp + 0xc]
sub edx, esi
add ecx, edx
mov byte [esp + eax + 0x28], cl
add eax, 1
jmp 0x43b4e8
call fcn.0041cb50
call fcn.0041cb50
mov esi, ebx
add esi, 2
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043bee0
xor ecx, ecx
test eax, eax
setne 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.0041cb50
mov dword [esp + 0x208], 0
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0xc]
jmp eax
mov dword [esp], ebp
mov dword [esp + 4], 0x5c
call fcn.0043bea0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cb50
xor eax, eax
mov ecx, esi
sub ecx, 0x3a
sete cl
mov dword [esp + 0xe0], 0
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0xe0]
mov edx, dword [edx + edi*4]
jmp edx
pop esp
sti
rol dword [esi], cl
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 8], edi
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], ebp
mov edi, dword [esp + 0xc]
mov dword [esp], edi
call fcn.0041c790
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cb50
mov ax, word [esi]
test ax, ax
sete al
mov dword [esp + 0x1b8], 1
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041cb50
mov dword [esp], ebp
mov dword [esp + 4], 0x5c
call fcn.0043bea0
mov esi, eax
xor eax, eax
test esi, esi
sete cl
mov dword [esp + 0x398], 1
mov edx, dword [esp + 0x39c]
mov edi, dword [esp + 0x398]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0041cb50
xor eax, eax
mov ecx, edi
sub ecx, ebx
seta cl
mov dword [esp + 0x2e8], 1
mov edx, dword [esp + 0x2ec]
mov edi, dword [esp + 0x2e8]
mov edx, dword [edx + edi*4]
mov edi, dword [esp + 0xc]
jmp edx
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov ecx, dword [edx + ecx*4]
mov edi, eax
jmp ecx
call fcn.0041cb50
mov dword [esp + 0x370], 1
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x370]
mov eax, dword [eax + ecx*4]
jmp eax
add edi, 0xfffffffe
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], ebp
jmp eax
call fcn.0041cb50
mov dword [esp + 0x230], 1
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
retf 0x9a70
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x1c]
mov byte [esp + 0x20], al
mov byte [esp + 0x34], 0xfa
mov byte [esp + 0x35], 0x31
mov byte [esp + 0x36], 0x96
mov byte [esp + 0x37], 0x33
mov byte [esp + 0x38], 0x2c
mov byte [esp + 0x39], 0x2d
mov eax, 6
mov byte [esp + eax + 0x34], 0
add eax, 1
cmp eax, 0xa
jne 0x43b88a
xor eax, eax
cmp eax, 0xa
jae 0x43b8cd
mov dl, byte [esp + eax + 0x34]
movzx edi, dl
mov ecx, eax
add ecx, 0xe1e0aa4c
mov ebx, ecx
and ebx, edi
shl ebx, 1
add ebx, 0x4a
sub ecx, ebx
mov ebx, dword [esp + 0x3e0]
add cl, dl
add cl, 0xce
mov byte [esp + eax + 0x34], cl
add eax, 1
jmp 0x43b899
mov edi, ebx
add edi, 2
lea eax, [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0043bee0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x2d0], ecx
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0xc0], 1
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
jmp eax
mov word [ebx], 0
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + eax*4]
mov edi, ebx
jmp eax
mov eax, ebx
add eax, 4
mov cx, word [ebx + 4]
xor edx, edx
test cx, cx
sete dl
mov dword [esp + 0xd0], edx
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
mov eax, ebx
add eax, 2
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [eax + ecx*4]
jmp eax
not al
movzx eax, al
and eax, 1
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
xor eax, eax
mov ecx, edi
sub ecx, 3
sete cl
mov dword [esp + 0x228], 1
mov edx, dword [esp + 0x22c]
mov ebx, dword [esp + 0x228]
mov edx, dword [edx + ebx*4]
jmp edx
inc cl
movzx eax, cl
and eax, 1
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 + 0xc]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edi
sub ecx, 2
sete al
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
mov eax, dword [esp + 0x14]
mov ebp, eax
add ebp, 2
mov cx, word [eax + 2]
xor eax, eax
sub cx, 0x2e
sete cl
mov dword [esp + 0x200], 1
mov edx, dword [esp + 0x204]
mov ebx, dword [esp + 0x200]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [esp + 0xc]
mov word [edi], 0x5c
add edi, 2
add ebp, 2
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x354]
mov eax, dword [ecx + eax*4]
mov esi, ebp
jmp eax
add edi, 0xfffffffe
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3bc]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
call fcn.0041cb50
mov dword [esp + 0x268], 0
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
mov word [eax], 0x5c
mov word [ebx + 6], 0
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x3e0]
jmp eax
sub esi, ebp
sar esi, 1
mov edi, esi
inc edi
xor eax, eax
mov ecx, edi
sub ecx, 1
sete al
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x2c8], ecx
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
jmp eax
mov word [edi], 0
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
mov ebp, esi
jmp eax
call fcn.0041cb50
mov dword [esp + 0x270], 1
mov eax, dword [esp + 0x274]
mov ecx, dword [esp + 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x358], ecx
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, 0x8bd40cfa
inc esp
and al, 0x78
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
mov ecx, edi
jmp eax
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x220]
mov ebx, dword [esp + 0x224]
mov edx, dword [ebx + edx*4]
jmp edx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ax, word [ebx]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x1f0], ecx
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0xc]
jmp eax
mov ax, word [edi]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0x298], 1
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0xc], edi
call fcn.0041cb50
mov dword [esp + 0x3a0], 0
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
mov esi, ebp
add esi, 4
mov dword [esp + 0x248], 0
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cb50
mov dword [esp + 0x180], 1
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov eax, dword [eax + ecx*4]
jmp eax
sub dword [edx - 5], edx
invalid
call fcn.0041cb50
mov dword [esp + 0x308], 1
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, dword [eax + ecx*4]
jmp eax