Function at 0x4341b2
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov esi, esp
mov ebx, dword [ebp + 8]
push eax
mov dword [esi + 8], esp
sub esp, 0x10
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x10], esp
mov dword [esi + 0x20], 0xb3d9b58d
mov dword [esi + 0x24], 0xcf3db135
mov dword [esi + 0x28], 0xcbb7cd42
mov dword [esi + 0x2c], 0xc794c9b9
mov dword [esi + 0x30], 0xc3b3c548
mov dword [esi + 0x34], 0xdfbbc148
mov dword [esi + 0x38], 0xdbdcdde5
lea eax, [esi + 0x3c]
mov dword [esi + 0x18], eax
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x43], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x26
ja 0x433d96
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x20]
lea edi, [eax + 0xb9]
and edi, ecx
add eax, ecx
add edi, edi
sub eax, edi
add eax, 0xf255ddb9
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
mov ecx, eax
xor ecx, 0xf0
and eax, 0x70
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x20], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x27
jb case.default.0x433dce
lea edi, [esi + 0x58]
lea edx, [esi + 0x20]
mov eax, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esi + 0x74]
xor ecx, ecx
mov eax, dword [esi + 0x18]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x48]
push edx
push 8
push eax
push 0xd
lea eax, [esi + 0x58]
push eax
push 0
call dword [0x448ad0]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445f70]
mov dword [esi + 0x48], 0x3a0043
mov dword [esi + 0x4c], 0x5c
mov edi, dword [esi + 8]
mov dword [edi], 0
push 0xd77f2487
push dword [0x448ac8]
call fcn.0043b840
add esp, 8
push 0
push 0
push 0
push 0
push edi
push 0
push 0
lea ecx, [esi + 0x48]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445f78]
jmp case.0x433dce.4
mov eax, dword [esi + 0x14]
mov dword [eax], ebx
xor eax, eax
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
xor ecx, ecx
cmp eax, 4
setb cl
mov edi, dword [esi + 8]
jmp dword [ecx*4 + 0x445f80]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x445f88]
mov ecx, eax
xor ecx, 0x3ffffffe
mov edx, eax
and edx, 0x1ffffffe
lea ecx, [ecx + edx*2]
mov edx, dword [esi + 0xc]
lea ecx, [edx + ecx*4]
add ecx, 4
jmp 0x433e85
mov ecx, edi
mov edx, dword [esi + 0xc]
imul ecx, dword [ecx], 0x1a5845
add ecx, 0xebde8a13
mov dword [edx + eax*4], ecx
mov byte [ebx + 8], 0
je 0x433ef0
add ebx, 8
cmp ecx, 0x100
jb 0x433f00
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, cl
movzx edx, word [edx + edx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ebx - 2], dx
add ebx, 0xfffffffe
shr eax, 8
cmp ecx, 0xffff
mov ecx, eax
ja 0x433eb0
cmp eax, 0xf
ja 0x433f07
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x433f2f
mov byte [ebx + 7], 0x30
add ebx, 7
jmp 0x433f2f
mov eax, ecx
cmp eax, 0xf
jbe 0x433ed4
mov ecx, eax
and ecx, 2
mov edx, eax
or eax, 2
imul eax, ecx
xor ecx, 2
and edx, 0xfffffd
imul edx, ecx
movzx eax, word [edx + eax + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov eax, 0xfffffffe
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
add eax, 2
cmp byte [ebx + ecx + 1], 0
lea ecx, [ecx + 1]
jne case.default.0x433f5e
xor ecx, 0xfffffff7
or eax, 0xffffffef
sub eax, ecx
xor ecx, ecx
xor edx, edx
cmp eax, ecx
setne dl
jmp dword [edx*4 + 0x445f90]
mov byte [ebx + ecx - 1], 0x30
dec ecx
xor edx, edx
cmp eax, ecx
setne dl
jmp dword [edx*4 + 0x445f90]
mov eax, dword [esi + 0x14]
mov ebx, dword [eax]
add ebx, 8
mov dword [eax], ebx
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x445f80]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov eax, esp
push 0x68
push 7
push 0x100080
push eax
push dword [ebp + 8]
call fcn.0043c380
add esp, 0x14
nop
nop
nop
nop
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ecx, esp
push eax
mov edx, esp
sub esp, 8
mov dword [esi + 8], esp
push eax
mov dword [esi + 0xc], esp
sub esp, 0xc
mov dword [esi + 0x10], esp
mov eax, dword [ebp + 0x10]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [edi], eax
mov dword [esi + 0x30], ecx
mov byte [ecx], 0
push 0x68
push 7
push 0x100080
mov ebx, edx
push edx
push dword [ebp + 8]
call fcn.0043c380
add esp, 0x14
jmp dword [0x445fa0]
mov dword [esi + 0x34], edi
mov dword [esi + 0x2c], ebx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445fa8]
push 0x400
call fcn.00437e80
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ebx
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov dword [esi + 0x18], 0x28292e2f
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov byte [esi + 0x24], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0xc
ja 0x4340ca
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [esi + ecx + 0x18]
mov edx, eax
and edx, 0xf2ffc5a
xor eax, 0xf2ffc5a
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
add al, 0x8a
mov ecx, dword [esi]
mov byte [esi + ecx + 0x18], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0xd
jb 0x434090
mov eax, dword [esi + 0x18]
mov edi, dword [0x448ad4]
test edi, edi
je case.default.0x43411f
xor ecx, ecx
mov edx, dword [0x448ad8]
nop
cmp dword [edx + ecx*8], 0x3bebd150
je 0x4340f0
inc ecx
cmp edi, ecx
jne 0x4340e0
jmp case.default.0x43411f
mov ecx, dword [edx + ecx*8 + 4]
cmp ecx, eax
je case.default.0x43411f
push 0x2f
push 0x400
push ebx
push dword [esi + 8]
push dword [esi + 4]
push 5
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x20
not eax
shr eax, 0x1f
mov edx, dword [esi + 0xc]
jmp dword [eax*4 + 0x445fb0]
xor edi, edi
mov eax, dword [edx]
xor ecx, ecx
cmp edi, dword [eax]
setb cl
jmp dword [ecx*4 + 0x445fb8]
mov ecx, dword [case.0x43411f.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov eax, dword [eax + edi*4 + 4]
mov ebx, dword [esi + 0x10]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov ecx, ebx
push 0
push eax
call fcn.00438270
mov edx, dword [esi + 0x34]
mov ecx, dword [edx]
xor eax, eax
mov dword [esi + 8], ecx
neg ecx
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
sbb eax, ecx
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
mov ecx, ebx
push eax
call fcn.00438290
mov ecx, dword [case.0x43411f.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
mov ecx, dword [esi + 0x10]
jmp dword [eax*4 + 0x445fe0]
push dword [esi + 4]
push dword [esi + 8]
push 0
call fcn.004384d0
mov ecx, dword [esi + 0x10]
test eax, eax
mov eax, dword [esi + 0x30]
setns byte [eax]
call fcn.004383e0
inc edi
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
xor ecx, ecx
cmp edi, dword [eax]
setb cl
jmp dword [ecx*4 + 0x445fb8]
push dword [edx]
call fcn.00437f10
add esp, 4
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x18], 0x28292e2f
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov byte [esi + 0x24], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xc
ja 0x43426c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [esi + edx + 0x18]
mov edi, ecx
and edi, 0xf2ffc5a
xor ecx, 0xf2ffc5a
lea ecx, [ecx + edi*2]
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x14]
add cl, 0x8a
mov edx, dword [esi]
mov byte [esi + edx + 0x18], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xd
jb 0x434230
mov ecx, dword [0x448ad4]
test ecx, ecx
je 0x4342ba
mov edx, dword [esi + 0x18]
xor edi, edi
mov ebx, dword [0x448ad8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x4342a0
inc edi
cmp ecx, edi
jne 0x434290
jmp 0x4342ba
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x4342ba
push eax
push 1
push dword [0x448adc]
push ecx
call fcn.00439d10
add esp, 0x10
mov eax, dword [case.0x433dce.14]
nop
jmp eax
mov eax, dword [esi + 0x30]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2e8], 0
mov ecx, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040fca0
mov eax, dword [esp + 0x5b4]
add eax, 2
mov dword [esp], eax
mov dword [esp + 4], 0x4406f0
call fcn.00436710
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x388], 0
mov edx, dword [esp + 0x38c]
mov esi, dword [esp + 0x388]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040fca0
mov byte [esp + 0x13], 1
mov dword [esp + 0x120], 1
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0xc]
mov dword [esp], esi
call fcn.00419930
lea eax, [esi + eax*2]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x504]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0x5b4]
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x440]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x3b0], 1
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, dword [esp + 0x4d0]
mov esi, dword [esp + 0x4d4]
mov edx, dword [esi + edx*4]
jmp edx
call fcn.0040fca0
mov byte [esp + 0x13], 0
mov dword [esp + 0x580], 1
mov eax, dword [esp + 0x584]
mov ecx, dword [esp + 0x580]
mov eax, dword [eax + ecx*4]
jmp eax
add eax, 0x8b3f214c
inc esp
and al, 0x30
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x3b8], ecx
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [eax + ecx*4]
jmp eax
jecxz 0x435376
invalid
mov cl, al
and ecx, 1
mov dword [esp + 0x380], ecx
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
push ebp
ljmp 0xb824
and al, 8
add al, 0
add byte [ebx + 0x40c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
invalid
mov eax, dword [esp + 0xc]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x4a8], ecx
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x30c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov ecx, esi
xor ecx, 0xd2da5141
mov eax, esi
and eax, 0x2d25aebe
add eax, eax
sub eax, ecx
add eax, 0xd2da5140
mov dword [esp + 0x280], 1
mov ecx, dword [esp + 0x284]
mov edx, dword [esp + 0x280]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040fca0
mov eax, dword [esp + 0x5b4]
mov cx, word [eax]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [esp + 0x370], 0
mov edx, dword [esp + 0x374]
mov esi, dword [esp + 0x370]
mov edx, dword [edx + esi*4]
jmp edx
pop eax
bound edx, qword [eax + edx]
mov al, 0x84
jmp 0x24c7dfe1
xor eax, eax
sub esi, 0x3a
sete cl
mov edx, dword [esp + 0x1a0]
mov esi, dword [esp + 0x1a4]
mov edx, dword [esi + edx*4]
jmp edx
mov eax, dword [esp + 0x5b4]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x360], ecx
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
loope 0x4354c4
mov ebp, 0xeb263873
mov dword [0xefa13d28], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
xor ecx, ecx
sub eax, 2
sete cl
mov dword [esp + 0x4b8], ecx
mov eax, dword [esp + 0x4bc]
mov ecx, dword [esp + 0x4b8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x4a0], 1
mov eax, dword [esp + 0x4a4]
mov ecx, dword [esp + 0x4a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov esi, dword [esp + 0xc]
mov dword [esp + 0x560], 0
mov eax, dword [esp + 0x564]
mov ecx, dword [esp + 0x560]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x450], 1
mov eax, dword [esp + 0x454]
mov ecx, dword [esp + 0x450]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
sub eax, ecx
sar eax, 1
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 0xfffffffe
mov esi, eax
xor esi, 1
add eax, esi
sub eax, edx
add ecx, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
xor ecx, ecx
sub eax, 1
sete cl
mov dword [esp + 0x4f8], ecx
mov eax, dword [esp + 0x4fc]
mov ecx, dword [esp + 0x4f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x490]
mov edx, dword [esp + 0x494]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040fca0
mov dword [esp + 0x2f0], 1
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x378], 0
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
movzx eax, word [esi]
mov dword [esp + 0x178], 0
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040fca0
mov dword [esp + 0x158], 1
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2e4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax*4]
jmp eax
or al, 0x8f
nop
fstp xword [edi]
lds esp, [0x1f0bab28]
sub eax, 0xa024848b
add byte [eax], al
add byte [ebx + 0xa4248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov ax, word [esi]
mov dword [esp + 0x548], 1
mov ecx, dword [esp + 0x54c]
mov edx, dword [esp + 0x548]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x27c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040fca0
mov dword [esp + 0x1b0], 1
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
sbb al, 0x18
int1
sahf
dec ecx
dec esi
aam 0xf
or dword [ecx + 0x60], eax
cmp al, 0x79
push ds
add ebp, 0xb424848b
add eax, 0xc0830000
add cl, byte [ecx + 0x44c72404]
and al, 4
invalid
mov eax, dword [esp + 0x5b4]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x398], ecx
mov eax, dword [esp + 0x39c]
mov ecx, dword [esp + 0x398]
mov eax, dword [eax + ecx*4]
jmp eax
cld
xor ebp, ecx
and ebx, ebp
fiadd dword [edi + 0x80283f2]
dec edi
ja 0x43593b
push ebp
daa
mov eax, dword [esp + 0x5b4]
mov word [eax], 0x5c
mov eax, dword [esp + 0x5b4]
mov word [eax + 2], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
jmp eax
div ebp
outsb dx, byte [esi]
fsubr qword [edi]
push eax
dec esi
add byte [ebx - 0x37], bl
sub edx, dword [ebp + 0x4024448b]
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x498], 0
mov ecx, dword [esp + 0x49c]
mov edx, dword [esp + 0x498]
add al, 0
add byte [ebx + 0x4982494], cl
add byte [eax], al
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
sbb al, 0x20
aad 0xa
mov dh, 0xe8
invalid
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x33c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040fca0
xor eax, eax
mov ecx, esi
sub ecx, 0x5c
sete cl
mov dword [esp + 0x4d8], 0
mov edx, dword [esp + 0x4dc]
mov edi, dword [esp + 0x4d8]
mov edx, dword [edx + edi*4]
jmp edx
jecxz 0x435a2d
js 0x4359b6
retf
mov al, cl
and eax, 1
mov dword [esp + 0x520], eax
mov eax, dword [esp + 0x524]
mov ecx, dword [esp + 0x520]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2a0]
add byte [eax], al
mov ecx, dword [esp + 0x2a4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x1f0], 0
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0x50c]
mov ecx, dword [esp + 0x508]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040fca0
mov eax, dword [esp + 0xc]
mov cx, word [eax + 2]
xor eax, eax
sub cx, 0x2e
sete cl
mov dword [esp + 0x3a8], 1
mov edx, dword [esp + 0x3ac]
mov esi, dword [esp + 0x3a8]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x5b4]
mov word [eax], 0
mov eax, dword [esp + 0x5b0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5b4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x570]
mov ecx, dword [esp + 0x574]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0x5b4]
mov word [eax], 0x5c
mov eax, dword [esp + 0x5b4]
mov word [eax + 2], 0
mov dword [esp + 0x1e8], 1
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x368]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + ecx*4]
jmp ecx
lodsb al, byte [esi]
cmpsd dword [esi], dword es:[edi]
imul esp, dword [ebx + 0xdc13f7b], 0xc24448b
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call fcn.004366d0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x310], 0
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x5b4]
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x23c]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [esp + 0x460], eax
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0x460]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
xor eax, eax
test esi, esi
setne cl
mov dword [esp + 0x528], 0
mov edx, dword [esp + 0x52c]
mov edi, dword [esp + 0x528]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esp + 0x5b4]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x438], ecx
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call fcn.004366d0
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
xor eax, eax
test ecx, ecx
sete cl
mov dword [esp + 0x510], 1
mov edx, dword [esp + 0x514]
mov esi, dword [esp + 0x510]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040fca0
mov eax, dword [esp + 0x5b4]
mov cx, word [eax]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x468], 0
mov edx, dword [esp + 0x46c]
mov esi, dword [esp + 0x468]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040fca0
mov dword [esp + 0x518], 1
mov eax, dword [esp + 0x51c]
mov ecx, dword [esp + 0x518]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x14]
mov word [eax], 0x5c
mov eax, dword [esp + 0x14]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5b4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x35c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0x5b4]
mov cx, word [eax]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [esp + 0x448], 0
mov edx, dword [esp + 0x44c]
mov esi, dword [esp + 0x448]
mov edx, dword [edx + esi*4]
jmp edx
mov byte [esp + 0x1b], dl
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
push ds
dec esp
mov bl, 0x82
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
je 0x435f43
dec ecx
mov ebp, 0xd88b3502
pop esi
ficomp dword [edx + 0x24448b9c]
or al, 0x83
rol byte [ecx + ecx*4], 0x44
and al, 0xc
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x470], 0
mov eax, dword [esp + 0x474]
mov ecx, dword [esp + 0x470]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
add al, byte [eax]
add byte [ebx - 0x1f007efc], cl
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [ecx + eax*4]
jmp eax
add byte [ebx - 0x1e0075f4], cl
call fcn.0040fca0
mov dword [esp + 0x550], 1
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x550]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x128], 1
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov eax, dword [eax + ecx*4]
jmp eax
xor byte [esp + eax - 0xf564e13], ch
loope 0x435faf
test byte [eax + ebx*4], ah
add byte [eax], al
add byte [ebx + 0x9c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x204]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
xor ebx, ebx
mov eax, esi
sub eax, 3
sete dl
mov dword [esp + 0x3e0], 1
mov eax, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e0]
mov eax, dword [eax + ecx*4]
jmp eax
shr dword [eax + ebx*4 + 0x31], cl
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x3c8], 0
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
mov ecx, dword [esp + 0x4f0]
mov edx, dword [esp + 0x4f4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x424]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x414]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3f8], 1
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [eax + ecx*4]
jmp eax
fsub qword [edi + 0x78]
ljmp 0x6ab0
mov eax, dword [esp + 0x5b4]
add eax, 2
mov dword [esp], eax
mov dword [esp + 4], 0x4406f0
call fcn.00436710
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x458], ecx
mov eax, dword [esp + 0x45c]
mov ecx, dword [esp + 0x458]
mov eax, dword [eax + ecx*4]
jmp eax
inc esp
and al, 4
invalid
mov eax, dword [esp + 0x5b4]
add eax, 2
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
and eax, 0x314d4a43
pop ebx
aas
movsb byte es:[edi], byte [esi]
adc al, 0x32
out dx, al
loope 0x436217
inc esp
and al, 0x58
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x558]
mov ecx, dword [esp + 0x55c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x2a8], 1
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov eax, dword [esp + 0x5b4]
mov dword [esp + 0x150], 1
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x4b0], ecx
mov eax, dword [esp + 0x4b4]
mov ecx, dword [esp + 0x4b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
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.0040fca0
mov eax, dword [esp + 0x14]
add eax, 0xfffffffe
mov dword [esp + 0x14], eax
mov dword [esp + 0x428], 1
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x428]
mov eax, dword [eax + ecx*4]
jmp eax
xchg esi, eax
pushal
lds esi, [0x8b77bb8d]
test byte [eax + ebp*4], ah
add byte [eax], al
add byte [ebx + 0xac248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x430], 1
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x430]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x5b4]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x590], ecx
mov eax, dword [esp + 0x594]
mov ecx, dword [esp + 0x590]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x578]
mov ecx, dword [esp + 0x57c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x390], 0
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x1b]
mov bl, al
and ebx, 1
mov dword [esp + 0x3c0], ebx
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x540]
mov edx, dword [esp + 0x544]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040fca0
movzx esi, di
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 + 0x2b8]
mov ecx, dword [esp + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x588], 1
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x588]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040fca0
mov dword [esp + 0x400], 0
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x20]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x348], ecx
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x29c]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
leave
sub dword ds:[edi - 0x2e39440d], esp
aad 0x1d
xchg edx, eax
or dword [esi], ecx
in eax, dx
jb case.0x43411f.167
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + eax*4]
jmp eax
ljmp 0x4b41:0x7a325ed5
xor edx, edx
test eax, eax
setne dl
jmp dword [edx*4 + 0x446578]
mov dword [ecx], 0x1b1a1948
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xb], 0
mov dword [esi], 0
mov edx, dword [esi]
cmp edx, 0xe
ja 0x437fb4
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi]
mov edi, dword [esi]
movzx edi, byte [ecx + edi]
lea ebx, [edx + edi]
add ebx, 0x21e84c84
add edx, 0x21e84c84
and edx, edi
add edx, edx
sub ebx, edx
mov dword [esi + 4], ebx
mov edx, dword [esi + 4]
add dl, 0x64
mov edi, dword [esi]
mov byte [ecx + edi], dl
inc dword [esi]
mov edx, dword [esi]
cmp edx, 0xf
jb 0x437f80
mov ecx, dword [ecx]
jmp dword [0x446580]
mov edx, dword fs:[ecx]
jmp dword [0x44658c]
mov edx, dword fs:[ecx]
mov edx, dword fs:[ecx]
jmp dword [0x44658c]
push eax
push 0
push dword [edx + 0x18]
call dword [0x450afc]
mov eax, dword [case.0x43411f.224]
nop
nop
nop
jmp eax
jmp dword [0x4465a8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
jmp dword [0x446730]
xor ecx, ecx
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x446710]
inc esi
xor eax, eax
cmp esi, 0xb
setne al
jmp dword [eax*4 + 0x446608]
mov dword [esp + 8], 0xf3f2cd9c
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x4394bb
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add edx, 0xfb509c5e
add eax, 0xfb509c5e
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x6e
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x439480
mov eax, dword [esp + 8]
mov eax, dword fs:[eax]
jmp case.0x43411f.257
mov eax, dword [esp + 8]
mov edx, dword fs:[eax]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + 0xc]
jmp dword [0x446638]
mov eax, dword [esi*4 + 0x43fe3c]
mov dword [esp + 0x40], eax
mov dword [esp + 8], 0xf3f2cd9c
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x4394d0
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add edx, 0xfb509c5e
add eax, 0xfb509c5e
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x6e
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x439520
jmp 0x4394d0
jmp dword [0x4466c0]
mov edi, dword [edi]
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [edi]
jmp dword [0x4466cc]
mov eax, dword [edx + 0xc]
add eax, 0xc
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, 4
jmp dword [ecx*4 + 0x446640]
xor eax, eax
cmp dword [edi + 0x30], 0
setne al
jmp dword [eax*4 + 0x446648]
xor eax, eax
mov ecx, dword [case.0x43411f.265]
jmp case.0x43411f.264
mov dword [esp + 8], 0x1b6b784d
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x439620
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea esi, [eax - 0x6c115564]
mov ebx, ecx
not ebx
or ebx, esi
and esi, ecx
add esi, ebx
neg esi
add eax, esi
add eax, 0x93eeaa9b
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xbc
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x4395e0
mov dword [esp + 0x38], edx
mov esi, dword [esp + 8]
mov ebx, dword [edi + 0x30]
xor eax, eax
nop
nop
nop
cmp word [ebx + eax], 0
lea eax, [eax + 2]
jne 0x439630
lea ecx, [ebx + eax]
add ecx, 0xfffffffe
mov dword [esp + 0x34], ecx
add eax, ebx
mov edx, 1
sub edx, eax
and edx, ebx
mov ecx, ebx
not ecx
and ecx, dword [esp + 0x34]
sub ecx, edx
je 0x4396ca
sar ecx, 1
lea edx, [ecx - 1]
mov eax, ecx
and eax, 3
mov dword [esp + 0x34], edx
je 0x439682
nop
nop
nop
nop
nop
dec ecx
movzx edx, word [ebx]
add ebx, 2
xor edx, esi
imul esi, edx, 0x1000193
dec eax
jne 0x439670
cmp dword [esp + 0x34], 3
jb 0x4396ca
xor eax, eax
nop
nop
nop
nop
nop
movzx edx, word [ebx + eax*2]
xor edx, esi
imul edx, edx, 0x1000193
movzx esi, word [ebx + eax*2 + 2]
xor esi, edx
imul edx, esi, 0x1000193
movzx esi, word [ebx + eax*2 + 4]
xor esi, edx
imul edx, esi, 0x1000193
movzx esi, word [ebx + eax*2 + 6]
xor esi, edx
imul esi, esi, 0x1000193
add eax, 4
cmp ecx, eax
jne 0x439690
cmp esi, dword [esp + 0x40]
sete al
mov ecx, dword [case.0x43411f.265]
lea ebx, [esp + 8]
mov edx, dword [esp + 0x38]
nop
jmp ecx
movzx eax, al
jmp dword [eax*4 + 0x446660]
xor eax, eax
mov ecx, 1
jmp dword [0x4466a0]
jmp dword [0x446674]
mov eax, dword [case.0x43411f.272]
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [case.0x43411f.275]
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, 1
xor ecx, ecx
jmp esi
mov esi, dword [case.0x43411f.281]
nop
jmp esi
mov esi, dword [esp + 0x3c]
jmp dword [ecx*4 + 0x4466b8]
mov ecx, dword [case.0x43411f.289]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov ecx, dword [case.0x43411f.292]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
sete cl
jmp dword [ecx*4 + 0x4466f0]
mov ecx, dword [case.0x43411f.297]
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp ecx
xor edx, edx
test eax, eax
sete dl
jmp dword [edx*4 + 0x446708]
xor ecx, ecx
jmp dword [edx*4 + 0x446710]
mov eax, dword [0x4477bc]
mov dword [esp + 8], 0x73846d8b
mov dword [esp + 0xc], 0x77867189
mov dword [esp + 0x10], 0x7b4d7580
mov dword [esp + 0x14], 0x7f4c794e
mov dword [esp + 0x18], 0x3ee7d98
mov dword [esp + 0x1c], 0x70601ec
mov word [esp + 0x20], 0
mov byte [esp + 0x22], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1a
ja 0x439850
nop
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 + 8]
lea esi, [ecx + 0x2e]
and esi, edx
add ecx, 0x48f69d2e
mov edi, ecx
and edi, edx
xor ecx, edx
add esi, edi
sub ecx, esi
lea ecx, [ecx + edi*2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xbe
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1b
jb 0x439810
push 0x800
push 0
push ebx
call eax
test eax, eax
je 0x439863
mov dword [0x448ae0], eax
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446720]
xor eax, eax
jmp dword [ecx*4 + 0x446718]
mov ecx, 1
jmp dword [0x446628]
int3
xor edx, edx
test ecx, ecx
sete dl
jmp dword [edx*4 + 0x446750]
mov dword [esp + 8], 0x7b787996
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0xf
ja case.0x43411f.348
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 8]
lea edi, [edx - 0x382b9a71]
add edx, 0x8f
and edx, esi
or edi, esi
sub edi, edx
mov dword [esp + 4], edi
mov edx, dword [esp + 4]
add dl, 0x17
mov esi, dword [esp]
mov byte [esp + esi + 8], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x10
jb 0x439c80
mov edx, dword [esp + 8]
mov edx, dword fs:[edx]
mov esi, dword [case.0x43411f.355]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp esi
push ecx
push eax
push 0
push dword [edx + 0x18]
call dword [0x450af8]
jmp 0x439cf7
push ecx
call fcn.00437e80
add esp, 4
jmp 0x439cf7
push eax
call fcn.00437f10
add esp, 4
xor eax, eax
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
int3