Function at 0x43ec72
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov edi, dword [esp + 0x58]
movzx eax, word [edi]
mov dword [esp + 0x18], 0x8087dcd0
mov dword [esp + 0x1c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x43dc90
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0x2776bca1
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xdc
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x43dc60
xor ecx, ecx
cmp dword [esp + 0x18], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x448cd0]
mov ebx, dword [edi + 0x3c]
mov ecx, dword [edi + ebx]
mov dword [esp + 0x18], 0x65642a16
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 6
ja 0x43dd00
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x18]
add edx, 0xb68e4f70
xor edx, esi
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add dl, 0xea
mov esi, dword [esp]
mov byte [esp + esi + 0x18], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 7
jb 0x43dcd0
xor edx, edx
cmp ecx, dword [esp + 0x18]
setne dl
xor eax, eax
jmp dword [edx*4 + 0x448cd8]
mov ebp, dword [edi + ebx + 0x78]
cmp dword [edi + ebx + 0x7c], 0
sete al
test ebp, ebp
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x448ce0]
mov eax, dword [edi + ebp + 0x20]
add eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [edi + ebp + 0x24]
add eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [edi + ebp + 0x1c]
add eax, edi
mov dword [esp + 0xc], eax
mov esi, edi
mov ebx, dword [0x44a920]
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0x34], ebp
jmp dword [eax*4 + 0x448ce8]
mov edi, dword [0x44a91c]
mov eax, dword [esi + ebp + 0x18]
add eax, edi
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x43dd86
shl eax, 3
mov ecx, eax
push ecx
call fcn.00409620
add esp, 4
mov esi, eax
lea eax, [edi*8]
lea edx, [ebx + edi*8]
cmp esi, ebx
jbe 0x43de13
cmp edx, esi
jbe 0x43de13
test eax, eax
je 0x43ddff
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebx + eax - 1]
mov byte [esi + eax - 1], dl
movzx edx, byte [ebx + eax - 2]
mov byte [esi + eax - 2], dl
movzx edx, byte [ebx + eax - 3]
mov byte [esi + eax - 3], dl
movzx edx, byte [ebx + eax - 4]
mov byte [esi + eax - 4], dl
movzx edx, byte [ebx + eax - 5]
mov byte [esi + eax - 5], dl
movzx edx, byte [ebx + eax - 6]
mov byte [esi + eax - 6], dl
movzx edx, byte [ebx + eax - 7]
mov byte [esi + eax - 7], dl
movzx edx, byte [ebx + eax - 8]
mov byte [esi + eax - 8], dl
add ecx, 0xfffffff8
mov eax, ecx
jne 0x43ddb0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x448d00]
jmp dword [0x448cf4]
mov ecx, eax
shr ecx, 2
mov edi, esi
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, esi
add edi, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ebx, dword [0x44a920]
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x448d00]
push ebx
call fcn.00409630
add esp, 4
mov eax, dword [case.0x43de3a.1]
nop
jmp eax
mov dword [0x44a920], esi
xor eax, eax
xor ecx, ecx
mov esi, dword [esp + 0x58]
cmp eax, dword [esi + ebp + 0x18]
setb cl
xor ebx, ebx
jmp dword [ecx*4 + 0x448d18]
mov esi, 1
jmp dword [esi*4 + 0x448db0]
inc edx
xor ebx, ebx
cmp edx, dword [0x44a91c]
setb bl
jmp dword [ebx*4 + 0x448da0]
mov edi, dword [0x44a920]
xor ebx, ebx
cmp dword [edi + edx*8], eax
sete bl
jmp dword [ebx*4 + 0x448da8]
mov dword [edi + edx*8 + 4], ebp
xor esi, esi
mov cl, 1
jmp dword [esi*4 + 0x448db0]
and cl, 1
movzx ecx, cl
mov dl, 1
mov dword [esp + 0x14], edx
jmp dword [ecx*4 + 0x448db8]
mov ecx, dword [0x44a920]
mov edx, dword [0x44a91c]
lea esi, [edx + 1]
mov dword [0x44a91c], esi
mov dword [ecx + edx*8], eax
mov dword [ecx + edx*8 + 4], ebp
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp case.0x43de3a.15
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov edi, dword [eax + ebx*4]
add edi, esi
push 0xb14a5e2
push edi
call fcn.0043e150
add esp, 8
mov ecx, eax
xor ecx, 0x43ac3278
xor edx, edx
or ecx, dword [0x44a924]
sete dl
jmp dword [edx*4 + 0x448d20]
xor ecx, ecx
cmp byte [edi], 0x4e
setne cl
jmp dword [ecx*4 + 0x448d38]
xor ecx, ecx
cmp byte [edi + 1], 0x74
setne cl
jmp dword [ecx*4 + 0x448d50]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
movzx eax, word [eax + ebx*2]
mov ecx, dword [esp + 0xc]
mov ebp, dword [ecx + eax*4]
add ebp, esi
mov dword [esp + 8], 0xffffffff
xor edi, edi
xor eax, eax
cmp edi, 0x20
setl al
jmp dword [eax*4 + 0x448d58]
jmp dword [esi*4 + 0x448d90]
xor eax, eax
cmp edi, 0x20
setl al
jmp dword [eax*4 + 0x448d58]
lea eax, [edi + ebp]
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00401000
add esp, 8
mov ecx, dword [esp + 0x30]
mov edx, ecx
shr edx, 0xa
and edx, 4
mov esi, 1
jmp dword [edx + 0x448d60]
movzx ebx, byte [esp + 0x1e]
xor edx, edx
cmp bl, 0xc2
sete dl
jmp dword [edx*4 + 0x448d68]
xor edx, edx
cmp bl, 0xc3
sete dl
jmp dword [edx*4 + 0x448d78]
mov edx, ecx
shr edx, 1
and edx, 4
jmp dword [edx + 0x448d70]
xor edx, edx
cmp bl, 0xb8
sete dl
jmp dword [edx*4 + 0x448d80]
mov edx, ecx
xor edx, 0xffffffef
or ecx, 0x10
xor ebx, ebx
test ecx, edx
setne bl
jmp dword [ebx*4 + 0x448d88]
add edi, eax
xor eax, eax
jmp dword [eax*4 + 0x448d90]
mov eax, 1
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
jmp dword [eax*4 + 0x448d90]
xor ecx, ecx
mov ebp, dword [esp + 8]
cmp ebp, 0xffffffff
setne cl
mov eax, dword [esp + 0x3c]
jmp dword [ecx*4 + 0x448d98]
xor ecx, ecx
xor ebx, ebx
cmp ecx, dword [0x44a91c]
setb bl
xor edx, edx
jmp dword [ebx*4 + 0x448da0]
mov eax, dword [esp + 0x10]
movzx eax, word [eax + ebx*2]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [0x44a924], eax
inc ebx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp ebx, dword [esi + ebp + 0x18]
setb cl
jmp dword [ecx*4 + 0x448d18]
and al, 1
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + ebp + 0x18]
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x43e0e8
shl eax, 3
mov ecx, eax
push ecx
call fcn.00409620
add esp, 4
mov dword [0x44a920], eax
jmp dword [0x448cfc]
mov eax, dword [esi + ebp + 0x18]
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x43e111
shl eax, 3
mov ecx, eax
push ecx
call fcn.00409620
add esp, 4
mov dword [0x44a920], eax
jmp 0x43e0d3
xor ecx, ecx
cmp dword [ebp + 8], 0
sete cl
jmp dword [ecx*4 + 0x44913c]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov dword [ebp - 0x14], 0
mov esi, dword [edx]
xor eax, eax
cmp esi, edx
setne al
mov dword [ebp - 0x1c], edx
jmp dword [eax*4 + 0x449154]
mov eax, dword [ebp - 0x20]
jmp dword [eax*4 + 0x44916c]
mov esi, dword [esi]
xor eax, eax
cmp esi, edx
setne al
jmp dword [eax*4 + 0x449154]
mov ebx, dword [esi + 0x30]
xor eax, eax
test ebx, ebx
setne al
mov dword [ebp - 0x20], 1
jmp dword [eax*4 + 0x44915c]
mov ecx, dword [ebp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
lea eax, [edx - 0x41]
cmp ax, 0x1a
jae 0x43e33f
or edx, 0x20
movzx eax, word [ebx]
lea edi, [eax - 0x41]
cmp di, 0x1a
jae 0x43e34e
or eax, 0x20
test dx, dx
je 0x43e35e
add ecx, 2
add ebx, 2
cmp dx, ax
je 0x43e330
xor ecx, ecx
cmp dx, ax
sete cl
mov edx, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x449164]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x14], eax
xor eax, eax
jmp dword [eax*4 + 0x44916c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [case.0x43de3a.55]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push eax
mov eax, esp
mov dword [eax], 0xf0e0938
mov word [eax + 4], 0
mov byte [eax + 6], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
ja 0x43e3ec
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [eax + edx]
add ecx, 0x125cf14a
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xbe
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x43e3c0
mov eax, dword [eax]
mov eax, dword fs:[eax]
jmp dword [0x449134]
push eax
push eax
mov eax, esp
mov dword [eax], 0xf0e0938
mov word [eax + 4], 0
mov byte [eax + 6], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
ja 0x43e44c
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [eax + edx]
add ecx, 0x125cf14a
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xbe
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x43e420
mov eax, dword [eax]
mov eax, dword fs:[eax]
jmp case.0x43de3a.48
int3
push eax
push eax
mov eax, esp
mov dword [eax], 0xc3c2c190
mov dword [eax + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
ja case.0x43de3a.74
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [eax + edx]
add ecx, 0x81908cd0
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xf0
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 8
jb 0x43e4a0
jmp case.0x43de3a.74
jmp dword [0x449180]
push eax
push eax
mov esi, esp
sub esp, 8
mov eax, esp
sub esp, 8
mov edx, esp
mov dword [esi], 0xc3c2c190
mov dword [esi + 4], 0
mov dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x10]
cmp edi, 7
ja 0x43e4d0
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [esi + ebx]
add edi, 0x81908cd0
xor edi, ebx
mov dword [ebp - 0x14], edi
mov ebx, dword [ebp - 0x14]
add bl, 0xf0
mov edi, dword [ebp - 0x10]
mov byte [esi + edi], bl
inc dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
cmp edi, 8
jb 0x43e500
jmp 0x43e4d0
mov esi, dword [esi]
mov esi, dword fs:[esi]
xor ebx, ebx
cmp dword [ebp + 8], 0
sete bl
jmp dword [ebx*4 + 0x449184]
jmp dword [0x44918c]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x18], ecx
jmp dword [0x44918c]
mov dword [eax], 0xd3d2bbad
mov dword [eax + 4], 0
mov dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x10]
cmp esi, 7
ja case.0x43de3a.80
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
movzx edi, byte [eax + edi]
lea ebx, [esi + edi]
add ebx, 0xc148b6c8
add esi, 0xc148b6c8
and esi, edi
mov edi, ebx
xor edi, esi
add edi, esi
not esi
and esi, ebx
add esi, esi
sub esi, edi
mov dword [ebp - 0x14], esi
mov ebx, dword [ebp - 0x14]
add bl, 0xe8
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], bl
inc dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
cmp esi, 8
jb 0x43e580
jmp case.0x43de3a.80
jmp dword [0x449198]
mov ecx, dword [ebp - 0x18]
movzx esi, word [ecx]
mov dword [eax], 0xd3d2bbad
mov dword [eax + 4], 0
mov dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x10]
cmp edi, 7
ja 0x43e5d0
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [eax + ebx]
lea ecx, [edi + ebx]
add ecx, 0xc148b6c8
add edi, 0xc148b6c8
and edi, ebx
mov ebx, ecx
xor ebx, edi
add ebx, edi
not edi
and edi, ecx
add edi, edi
sub edi, ebx
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x14]
add cl, 0xe8
mov edi, dword [ebp - 0x10]
mov byte [eax + edi], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 8
jb 0x43e600
jmp 0x43e5d0
xor ebx, ebx
cmp dword [eax], esi
sete bl
xor esi, esi
jmp dword [ebx*4 + 0x44919c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x3c]
mov esi, dword [ecx + eax]
mov dword [edx], 0x8b88463e
mov word [edx + 4], 0
mov byte [edx + 6], 0
mov dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x10]
cmp edi, 6
ja 0x43e6ac
nop
nop
nop
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [edx + ebx]
add edi, 0xae734dfb
xor edi, ebx
mov dword [ebp - 0x14], edi
mov ebx, dword [ebp - 0x14]
add bl, 0x8b
mov edi, dword [ebp - 0x10]
mov byte [edx + edi], bl
inc dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
cmp edi, 7
jb 0x43e680
xor ebx, ebx
cmp esi, dword [edx]
sete bl
jmp dword [ebx*4 + 0x4491a4]
mov ecx, 1
xor esi, esi
jmp dword [ecx*4 + 0x4491ac]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + eax + 0x50]
mov esi, 1
xor ecx, ecx
jmp dword [ecx*4 + 0x4491ac]
xor esi, esi
xor ecx, ecx
test esi, esi
sete cl
jmp dword [ecx*4 + 0x4491b4]
jmp 0x43e6f1
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx + 0x30]
xor ecx, ecx
jmp dword [ecx*4 + 0x4491f4]
mov ebx, dword [ebx]
xor ecx, ecx
cmp ebx, edx
setne cl
jmp dword [ecx*4 + 0x4491c4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
xor ecx, ecx
cmp dword [ebx + 0x18], ebp
sete cl
jmp dword [ecx*4 + 0x4491ec]
mov ecx, 1
jmp dword [ecx*4 + 0x4491f4]
mov edx, dword [eax + 0xc]
mov esi, dword [edx + 0xc]
add edx, 0xc
mov eax, dword [case.0x43de3a.131]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
xor ebx, ebx
cmp esi, edx
setne bl
jmp dword [ebx*4 + 0x449244]
mov eax, dword [esi + 0x28]
xor edi, edi
jmp dword [edi*4 + 0x449264]
mov esi, dword [esi]
xor ebx, ebx
cmp esi, edx
setne bl
jmp dword [ebx*4 + 0x449244]
xor ebx, ebx
cmp dword [esi + 0x18], ecx
sete bl
jmp dword [ebx*4 + 0x44924c]
mov edi, dword [case.0x43de3a.140]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
mov edi, 1
jmp dword [edi*4 + 0x449264]
int3
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov esi, dword [eax + edx*4]
add esi, ebp
mov edx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
cmp byte [esi + edx + 1], 0
lea edx, [edx + 1]
lea eax, [eax + 1]
jne 0x43eac0
mov dword [esp + 4], 0xcececc7f
lea eax, [esp + 8]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x43eb2e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 4]
add eax, 0xa4a7f5d8
xor eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xec
mov edi, dword [esp]
mov byte [esp + edi + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x43eb00
test edx, edx
je 0x43eb50
mov edi, dword [esp + 4]
cmp edx, 1
jne 0x43eb60
mov eax, 0xb14a5e2
jmp 0x43eb9d
mov eax, 0xb14a5e2
mov ebp, dword [esp + 0x40]
jmp case.0x43de3a.169
and ebp, 0xfffffffe
mov eax, 0xb14a5e2
nop
nop
nop
nop
nop
nop
nop
nop
movsx ecx, byte [esi]
mov ebx, eax
and ebx, ecx
add eax, ecx
add ebx, ebx
sub eax, ebx
imul eax, edi
movsx ecx, byte [esi + 1]
add esi, 2
mov ebx, eax
and ebx, ecx
add eax, ecx
add ebx, ebx
sub eax, ebx
imul eax, edi
add ebp, 0xfffffffe
jne 0x43eb70
mov ebx, dword [esp + 0x44]
test dl, 1
mov ebp, dword [esp + 0x40]
je case.0x43de3a.169
movsx ecx, byte [esi]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
imul eax, edi
xor ecx, ecx
cmp eax, ebx
setne cl
jmp dword [ecx*4 + 0x44929c]
mov edx, dword [esp + 0x14]
mov ecx, edx
or ecx, 1
mov eax, edx
and eax, 1
lea eax, [edx + eax*2]
xor edx, 0x7ffffffe
and edx, ecx
add edx, edx
sub eax, edx
inc eax
xor ecx, ecx
mov esi, dword [esp + 0x10]
cmp eax, dword [ebp + esi + 0x18]
setb cl
mov edx, eax
jmp dword [ecx*4 + 0x449294]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
mov edx, eax
sub edx, dword [esp + 0x10]
setae cl
jmp dword [ecx*4 + 0x4492a4]
xor ebx, ebx
cmp edx, dword [esp + 0x18]
setb bl
jmp dword [ebx*4 + 0x4492ac]
add ebp, eax
xor edx, edx
mov eax, ebp
jmp dword [edx*4 + 0x4492b4]
mov ecx, dword [esp + 0x24]
jmp dword [ecx*4 + 0x4492b4]
xor eax, eax
int3
mov dword [esp + 8], 0x4056074
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x43ece0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 8]
lea edi, [ecx + esi]
add edi, 0xbf221610
add ecx, 0xbf221610
not esi
or ecx, esi
sub esi, ecx
lea ecx, [edi + esi*2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xe9
mov esi, dword [esp]
mov byte [esp + esi + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x43eca0
xor ecx, ecx
cmp dword [esp + 8], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x4492cc]
mov ecx, dword [ebx + 0x3c]
mov esi, dword [ebx + ecx]
mov dword [esp], 0x5a5b2729
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 3
ja 0x43ed43
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi]
add edx, 0xeb462bc4
xor edx, edi
mov dword [esp + 8], edx
mov edx, dword [esp + 8]
add dl, 0x63
mov edi, dword [esp + 4]
mov byte [esp + edi], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 4
jb case.default.0x43ed4b
xor edx, edx
cmp esi, dword [esp]
setne dl
jmp dword [edx*4 + 0x4492d4]
mov esi, dword [ebx + ecx + 0x80]
cmp dword [ebx + ecx + 0x84], 0
sete al
test esi, esi
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x4492dc]
mov edi, dword [ebx + esi]
add edi, ebx
mov ecx, dword [ebx + esi + 0x10]
add ecx, ebx
mov dword [esp + 0x10], ecx
add ebx, 2
mov ecx, dword [edi]
mov esi, ecx
shr esi, 0x1f
mov dword [esp + 0x14], ebx
jmp dword [esi*4 + 0x4492e4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp dword [ecx*4 + 0x44932c]
mov ecx, dword [edi]
mov edx, ecx
shr edx, 0x1f
xor eax, eax
jmp dword [edx*4 + 0x4492e4]
mov eax, dword [case.0x43de3a.215]
jmp eax
xor edx, edx
test ecx, ecx
setne dl
xor eax, eax
jmp dword [edx*4 + 0x4492fc]
mov dword [esp + 0x18], edi
add ecx, ebx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
mov eax, ebx
inc ebx
cmp byte [ecx + eax], 0
jne 0x43edf0
mov dword [esp + 8], 0xcececc7f
lea edx, [esp + 0xc]
mov byte [edx + 2], 0
mov word [edx], 0
mov dword [esp], 0
mov esi, dword [esp]
cmp esi, 6
ja 0x43ee50
nop
nop
nop
mov esi, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 8]
add esi, 0xa4a7f5d8
xor esi, edi
mov dword [esp + 4], esi
mov edx, dword [esp + 4]
add dl, 0xec
mov esi, dword [esp]
mov byte [esp + esi + 8], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 7
jb 0x43ee20
mov edi, 0xb14a5e2
cmp ebx, 1
je 0x43eeb3
mov esi, dword [esp + 8]
cmp ebx, 2
je 0x43ee9d
and eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx edx, byte [ecx]
mov ebp, edi
and ebp, edx
add edi, edx
add ebp, ebp
sub edi, ebp
imul edi, esi
movsx edx, byte [ecx + 1]
add ecx, 2
mov ebp, edi
and ebp, edx
add edi, edx
add ebp, ebp
sub edi, ebp
imul edi, esi
add eax, 0xfffffffe
jne 0x43ee70
mov ebp, dword [esp + 0x38]
dec ebx
test bl, 1
je 0x43eeb3
movsx eax, byte [ecx]
mov ecx, edi
and ecx, eax
add edi, eax
add ecx, ecx
sub edi, ecx
imul edi, esi
xor eax, eax
cmp edi, ebp
sete al
jmp dword [eax*4 + 0x449304]
mov edi, dword [esp + 0x18]
add edi, 4
add dword [esp + 0x10], 4
mov eax, dword [case.0x43de3a.221]
mov ebx, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x449328]
mov ecx, 1
mov eax, dword [esp + 0x1c]
jmp dword [ecx*4 + 0x44932c]
mov ecx, dword [case.0x43ed4b.1]
nop
nop
nop
nop
jmp ecx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov ebx, dword [esi + 0x3c]
mov eax, dword [esi + ebx]
mov dword [esp + 4], 0x1a1551a7
mov byte [esp + 8], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x43eff0
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 + 4]
add ecx, 0x902579a5
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x4e
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x43efc0
xor ecx, ecx
cmp eax, dword [esp + 4]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x44934c]
add ebx, esi
movzx eax, word [ebx + 0x14]
lea ebp, [ebx + eax]
add ebp, 0x18
movzx edx, word [ebx + 6]
xor eax, eax
xor ecx, ecx
mov word [esp + 0x12], dx
cmp ax, dx
setb cl
mov dword [esp + 0x14], 1
jmp dword [ecx*4 + 0x449354]
mov esi, 8
mov edi, dword [esp + 0x30]
mov edx, ebp
nop
nop
nop
nop
nop
sub esi, 1
jb 0x43f060
movzx ecx, byte [edx]
inc edx
movzx ebx, byte [edi]
inc edi
cmp bl, cl
je 0x43f040
sub ebx, ecx
jmp 0x43f062
xor ebx, ebx
xor ecx, ecx
test ebx, ebx
sete cl
jmp dword [ecx*4 + 0x44935c]
inc eax
add ebp, 0x28
xor ecx, ecx
cmp ax, word [esp + 0x12]
setb cl
jmp dword [ecx*4 + 0x449354]
xor eax, eax
mov ecx, dword [esp + 0x34]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x449364]
mov eax, dword [esp + 0x2c]
add eax, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [case.0x43de3a.254]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp dword [esp + 0x38], 0
setne al
mov dword [esp + 0x14], 0
jmp dword [eax*4 + 0x44937c]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
jmp dword [eax*4 + 0x449384]
mov al, 1
jmp 0x43f0e5
xor eax, eax
mov ecx, dword [case.0x43de3a.238]
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
int3
fiadd word [ebx]
push edx
fiadd word [ebx]
push eax
fiadd word [ebx]
push eax
fiadd word [ebx]
push eax
fiadd word [ebx]
push edx
fiadd word [ebx]
leave
loopne 4492638
add byte [eax], ah
fild word [ebx]
push ebp
fild word [ebx]
mov al, byte [0x10043e0]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebp - 0x21], dl
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [edi + ebx*8 + 0x43], ah
add byte [eax + 0x10043], dh
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
fild word fs:[ebx]
je 4492593
fild word [ebx]
add dword [eax], eax
add byte [eax], al
fild word fs:[ebx]
mov ah, 224
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + ebx*8 + 0x43], ah
add byte [edi + ebx*8 + 0x43], dh
inc ebx
add byte [eax - 0x1f8effbd], dh
inc ebx
add dh, al
fild word [ebx]
out dx, al
inc ebx
add dh, ch
fild word [ebx]
mov al, 0xdf
inc ebx
add byte [edx], al
loopne 0x448dae
add byte [eax], ah
loopne 0x448db2
add byte [0xb00043e0], ch
fild word [ebx]
sub eax, 0xb00043e0
fild word [ebx]
push edx
loopne 4492742
add byte [eax], bh
inc ebx
add byte [edx - 0x20], dl
inc ebx
add byte [ebp - 0x20], bl
inc ebx
add byte [edi + 0x710043df], dh
loopne 0x448dda
add byte [edx], al
fild word [ebx]
mov al, ah
inc ebx
add bl, dl
fiadd word [ebx]
scasd eax, dword es:[edi]
fiadd word [ebx]
nop
fiadd word [ebx]
invalid
inc ebx
add bl, dl
fiadd word [ebx]
pushfd
fiadd word [ebx]
out 0xde, al
inc ebx
add byte [esi + ebx*8 - 0x2119ffbd], bl
inc ebx
add byte [edx], al
fild word [ebx]
popfd
jecxz 4492806
add byte [edi + 0x7f0043e2], bh
jecxz 0x448e0e
inc ebx
add byte [edi - 0x1d], bh
inc ebx
add byte [edi - 0x1d], bh
inc ebx
add byte [esi - 0x1c], dl
inc ebx
add byte [esi - 0x1c], dl
inc ebx
add byte [eax - 0x6dffbc1d], dl
jecxz 0x448e22
inc ebx
add byte [edx - 0x30ffbc1d], dl
add bh, cl
loop 0x448e26
add bh, cl
loop 0x448e2a
add bh, cl
loop 0x448e2e
add dl, bh
loop 0x448e32
add byte [edx + 0xa0043e3], dl
jecxz 0x448e3a
add byte [edx], ah
jecxz 0x448e3e
add byte [eax - 0x1d], dh
inc ebx
add byte [eax - 0x1d], dh
inc ebx
add al, dh
loop 0x448e4a
inc ebx
add al, dh
loop 0x448e4e
add al, dh
loop 0x448e52
inc ebx
add al, dh
loop 0x448e56
add dl, bh
loop 0x448e5a
add byte [edx - 0x6dffbc1d], dl
jecxz 0x448e62
add bh, dh
jecxz 0x448e66
inc ebx
add byte [eax - 0x29ffbc1d], dl
inc ebx
add dh, dl
in al, 0x43
inc ebx
add byte [esi], ch
in eax, 0x43
inc ebx
add byte [esi], ch
in eax, 0x43
inc ebx
add byte [esi], ch
in eax, 0x43
add byte [ecx - 0x1b], cl
inc ebx
add byte [ebx - 0x1b], al
inc ebx
add dh, dl
in eax, 0x43
add byte [ebp - 0x1a], al
inc ebx
add byte [ebp - 0x1a], dl
inc ebx
add al, cl
out 0x43, al
inc ebx
add byte [edx - 0x45ffbc1a], bh
out 0x43, al
inc ebx
add byte [edx - 0x22ffbc1a], bh
inc ebx
add ch, bl
out 0x43, al
inc ebx
add bh, bl
out 0x43, al
add bh, ch
out 0x43, al
inc ebx
add ch, ch
out 0x43, al
inc ebx
add byte [ebp - 0x1c], dh
inc ebx
add byte [ebp - 0x1b], dl
inc ebx
add byte [edi + 0x730043e7], dl
out 0x43, eax
add dl, cl
out 0x43, eax
add byte [0xe00043e8], cl
out 0x43, eax
add al, ah
out 0x43, eax
add dl, ah
out 0x43, eax
add dl, ah
out 0x43, eax
add al, dh
out 0x43, eax
add dl, dh
out 0x43, eax
add dl, dh
out 0x43, eax
add dl, dh
out 0x43, eax
add dl, dh
out 0x43, eax
add byte [esi - 0x41ffbc19], bh
out 0x43, eax
add byte [esi - 0x41ffbc19], bh
out 0x43, eax
add byte [esi + 0x10043e7], bh
call 0xe8458f01
inc ebx
add dl, cl
out 0x43, eax
add byte [0xe00043e8], cl
out 0x43, eax
add al, dh
out 0x43, eax
add byte [esi], ch
jmp 0xe9728f19