Function at 0x41b731
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x124], ecx
mov ecx, dword [ecx]
push esi
mov esi, dword [eax]
mov eax, ecx
and eax, 0x800
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x5c], eax
push edi
push ebx
pop eax
setne al
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x78], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x13c], edx
mov edx, dword [edx]
mov dword [ebp - 0xf8], eax
xor eax, 1
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0xfc], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x58], eax
mov eax, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x98], 0xff
mov dword [ebp - 0x110], 0xfc00
mov dword [ebp - 0x114], 0xdc00
mov dword [ebp - 0x12c], 0x7b
mov dword [ebp - 0x120], 0x3a
mov dword [ebp - 0x140], 0x87
mov dword [ebp - 0x90], 0x30
mov dword [ebp - 0xb4], 0x39
mov dword [ebp - 0x128], 0x27
mov dword [ebp - 0x118], 0x1e
mov dword [ebp - 0x11c], 0x82
mov dword [ebp - 0x138], 0x5d
jmp 0x41b9de
mov eax, ebx
sub eax, 0x5b
je 0x41bde0
sub eax, 1
je 0x41c3e6
sub eax, 1
je 0x45a25e
sub eax, 1
je 0x45a233
sub eax, 0x1d
je 0x4595e3
sub eax, 1
je 0x41bbca
cmp dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0xc]
mov edi, ecx
mov word [ebp - 0x10c], bx
je 0x41b8cd
mov eax, 0xfc00
and ebx, eax
mov eax, 0xd800
cmp ebx, eax
je 0x45a284
push 2
pop esi
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
inc ebx
and byte [ebx], ch
inc ebx
adc cl, dl
clc
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
je 0x41b93f
test cl, al
je 0x41b93f
movzx ecx, word [ebp - 0x10c]
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x45b521
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f3]
test eax, eax
jne 0x41bdb6
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0xc]
push 0x1d
pop ecx
add eax, ecx
mov word [edx], ax
add edx, esi
xor eax, eax
mov dword [ebp - 8], edx
mov ecx, eax
test edi, edi
je 0x41b96c
mov ax, word [ebp + ecx*2 - 0x10c]
mov word [edx], ax
add edx, esi
inc ecx
cmp ecx, edi
jb 0x41b957
mov dword [ebp - 8], edx
mov ax, word [ebp - 0x10c]
push 0xd
pop ecx
cmp ax, cx
je 0x45b54d
push 0xa
pop ecx
cmp ax, cx
je 0x45b54d
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
je 0x41c4f4
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x70], eax
cmp edi, dword [ebp - 0xc]
jne 0x45b582
movzx eax, word [edx - 2]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x68]
or eax, ecx
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
clc
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x50]
movzx ebx, word [esi]
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x41bc31
cmp dword [ebp + 0x2c], 0
mov edi, dword [ebp + 0x28]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x10]
lea ecx, [eax + ecx*2]
je 0x41bbbc
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x45b6e4
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jb 0x4587c9
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp + 0x2c]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x45b80b
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
test edx, edx
je 0x41bc23
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
jbe 0x41ba85
mov esi, dword [ebp - 8]
mov eax, esi
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00422720
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
sub edx, ecx
sar edx, 1
neg edx
mov dword [ebp - 0x28], ecx
lea esi, [esi + edx*2]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc0], edx
test ebx, ebx
je 0x41baaf
push 0x5c
pop ecx
cmp ebx, ecx
je 0x41c07b
cmp dword [ebp - 0x64], 0
jne 0x4587e8
cmp ebx, ecx
je 0x41c090
mov edi, dword [ebp - 0x2c]
and edi, 8
mov dword [ebp - 0x30], edi
jne 0x458855
push 0x28
pop eax
cmp ebx, eax
je 0x41bc3e
push 0x2a
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x2b
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x3f
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x7b
pop eax
cmp ebx, eax
je 0x45899d
mov edx, dword [ebp - 0x88]
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
test edx, edx
jne 0x4589b5
test dword [ebp - 0x2c], 0x4000
jne 0x4589f6
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp ebx, eax
ja 0x41b86f
je 0x4595d7
mov eax, ebx
xor ecx, ecx
sub eax, ecx
je 0x41bbca
sub eax, 0x24
je 0x4595c2
sub eax, 4
je 0x41bc5d
sub eax, 1
je 0x41bbca
sub eax, 1
je 0x41c0ad
sub eax, 1
je 0x458a44
sub eax, 3
jne 0x41b8a7
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41bb77
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
shr eax, 2
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x68], ecx
or eax, 0xc
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x28], edx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
jmp 0x41b9cd
cmp dword [edi + 0x20], ecx
jbe 0x41ba8e
jmp 0x45b8b5
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x13c]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x41bc1b
sub edx, dword [ebp - 0xc0]
mov ebx, 0x7fffffeb
mov ecx, dword [eax]
sub ebx, ecx
sar edx, 1
cmp ebx, edx
jl 0x45b80b
add ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 8], edx
jmp 0x41ba88
invalid
test eax, eax
je 0x41b9ec
jmp 0x4587b4
push 0x3f
pop eax
cmp word [esi + 2], ax
jne 0x41baf5
push 0x23
pop eax
cmp word [esi + 4], ax
jne 0x41baf5
jmp 0x458958
add esi, 2
push 0x2a
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x458a4c
mov eax, dword [ebp - 0x2c]
mov ecx, 0x85
mov dword [ebp - 0x24], ecx
xor edi, edi
mov ecx, dword [ebp + 0x28]
mov ebx, edi
mov dword [ebp - 0x3c], eax
push 0x3f
mov dword [ebp - 0x18], ebx
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
pop eax
mov dword [ebp - 0x30], edi
cmp dx, ax
jne 0x41c23d
add esi, 2
mov dword [ebp - 4], esi
push 0x3a
pop edx
movzx ebx, word [esi]
mov eax, ebx
cmp eax, edx
jbe 0x458ccd
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
sub eax, 0x3c
je 0x4593a9
sub eax, 1
je 0x45926b
sub eax, 1
je 0x45939f
sub eax, 5
je 0x4592f5
push 0xd
pop ebx
sub eax, ebx
je 0x4592ac
push 2
pop ebx
sub eax, ebx
je 0x45928f
push 0x2a
pop ebx
sub eax, ebx
je 0x45925b
xor ecx, ecx
push 0x29
mov eax, ecx
mov dword [ebp - 0x30], ecx
pop ebx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x30]
cmp di, bx
je 0x45a527
rcr byte [ebx - 0x77], 1
inc ebp
invalid
mov ebx, edx
movzx eax, di
cmp di, word [ebp - 0x120]
je 0x41bd63
lea esi, [edx + 2]
movzx edi, di
push 0x69
pop edx
mov dword [ebp - 4], esi
cmp ax, dx
ja 0x45a4f7
jne 0x45a4ac
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx eax, word [esi]
mov ebx, esi
push 0x29
mov dword [ebp - 0x1c], ebx
mov edx, ebx
pop ebx
mov edi, eax
cmp ax, bx
jne 0x41bd1f
mov ebx, esi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
or ecx, dword [ebp - 0x2c]
not eax
and ecx, eax
push 0x29
pop eax
mov dword [ebp - 0x3c], ecx
cmp word [esi], ax
jne 0x459202
mov edx, dword [ebp - 0xc]
mov eax, ecx
shr eax, 9
and eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xf8], eax
xor eax, edx
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x124]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, ecx
and eax, edx
mov dword [ebp - 0x94], eax
jmp 0x41b9d0
push 0x10
pop ecx
mov word [edx], cx
add edx, esi
push 9
pop ecx
mov word [edx], cx
add edx, esi
mov word [edx], ax
add edx, esi
cmp dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 8], edx
je 0x45b540
mov esi, dword [ebp - 4]
jmp 0x41b9d3
push 6
lea ecx, [esi + 2]
mov edx, 0x49cc78
call fcn.0041c609
pop ecx
test eax, eax
je 0x45aba8
mov ecx, dword [ebp - 4]
mov edx, 0x49cc70
push 6
lea ecx, [ecx + 2]
call fcn.0041c609
pop ecx
test eax, eax
je 0x45abaf
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
push 0x3a
mov eax, dword [edx + 0x20]
sub eax, dword [edx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
movzx eax, word [ecx + 2]
pop edi
mov dword [ebp - 0x28], ebx
cmp ax, di
je 0x45abc8
push 0x2e
pop edx
cmp ax, dx
je 0x45abc8
push 0x3d
pop edx
cmp ax, dx
je 0x45abc8
xor esi, esi
push 0x5c
mov eax, esi
pop edx
mov dword [ebp - 0x10], eax
add ecx, 2
mov dword [ebp - 4], ecx
inc ebp
invalid
cld
movzx edi, word [ecx]
mov dword [ebp - 0x14], edi
cmp edi, edx
cmp dword [ecx - 0x5c41383], ecx
je 0x45abe0
test eax, eax
jne 0x41be7d
cmp edi, 0x5e
je 0x45ac1a
push 0x5d
pop ecx
cmp edi, ecx
je 0x45ac22
lea eax, [ebx + 6]
mov dword [ebp - 0x38], esi
push 0x20
mov dword [ebp - 0x18], eax
mov ebx, esi
mov dword [ebp - 0x20], eax
pop eax
push eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x70], esi
push esi
push eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x3c], esi
call fcn.00422340
mov esi, dword [ebp - 4]
add esp, 0xc
test edi, edi
je 0x45b428
mov edx, ebx
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x80], ebx
mov ebx, edx
mov dword [ebp - 0x30], edx
je 0x41bee5
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x45ac6a
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ecx
ja 0x45aca6
mov ch, 0xed
add eax, dword [eax]
cmp dword [ebp + 0x2c], 0
je 0x41bf02
mov eax, dword [ebp - 0x20]
cmp eax, ecx
ja 0x45acb1
loopne 0x41bf36
ror dword [edi], 0x87
scasd eax, dword es:[edi]
in eax, dx
add eax, dword [eax]
cmp dword [ebp - 0x64], 0
jne 0x45acc5
add eax, dword [eax]
cmp edi, 0x5b
je 0x45aced
push 0x5c
pop ecx
cmp edi, ecx
je 0x45af61
xor edx, edx
mov ecx, dword [ebp + 0x28]
mov ebx, dword [ebp - 0x2c]
push 0x5c
pop eax
cmp word [esi + 2], ax
je 0x45b231
push 0xd
pop eax
mov edx, esi
cmp edi, eax
or eax, 0x3bd68b58
clc
je 0x45b25a
test byte [eax], bl
add eax, dword [eax]
push 0xa
pop eax
cmp edi, eax
je 0x45b25a
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x41bf61
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x45b266
mov eax, dword [ebp - 0x80]
mov ebx, eax
push 2
pop edx
mov dword [ebp - 0x1c], eax
cmp eax, edx
jl 0x41c070
test ecx, ecx
jne 0x41bf88
cmp dword [ebp - 0x3c], ecx
jne 0x41bf88
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
je 0x41c4e2
push edi
push edi
push dword [ebp + 0x28]
push dword [ebp - 0x2c]
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0xe0]
call fcn.0041c574
mov edx, eax
add esp, 0x10
add edx, dword [ebp - 0x30]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
push 2
pop edi
add esi, edi
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov dword [ebp - 0x14], edi
test edi, edi
je 0x45b409
push 0x5d
pop eax
cmp edi, eax
jne 0x41bec3
cmp dword [ebp - 0x64], 0
jne 0x41bec3
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x20], ecx
ja 0x41bfe8
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x34]
cmp edi, 0xfffffffe
jne 0x41bff6
or edi, 0xffffffff
mov dword [ebp - 0x34], edi
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x68], edi
test eax, eax
jne 0x45b58f
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x41c029
mov eax, dword [ebp - 0x20]
sub eax, ecx
sar eax, 1
add dword [ebx], eax
mov esi, dword [ebp - 0x10]
xor eax, eax
cmp esi, edx
mov edx, dword [ebp - 8]
push 0x6e
setne al
pop ecx
add eax, ecx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
test ebx, ebx
jne 0x41c069
test esi, esi
jne 0x45b6ce
push 0x20
pop eax
push eax
lea eax, [ebp - 0xe0]
push eax
push edx
call fcn.00420e20
mov edx, dword [ebp - 8]
add esp, 0xc
push 0x20
jmp 0x41bbb1
lea ebx, [eax + 1]
mov dword [ebp - 0x1c], ebx
jmp 0x41bf74
push 0x45
pop ecx
cmp word [esi + 2], cx
push 0x5c
pop ecx
jne 0x41ba9d
jmp 0x4587d3
push 0x51
pop ecx
cmp word [esi + 2], cx
jne 0x41baaf
jmp 0x4587da
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50]
jmp 0x41bb0a
or eax, 0xffffffff
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x45b7d4
mov esp, 0x85d8558b
ror byte [edi], cl
test byte [eax], dl
test dword [ebx], 0x75c98500
sbb ecx, dword [ebx + 0x5d89845d]
xchg esp, eax
test ecx, ecx
jne 0x41c0e3
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x84]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x54], ebx
sub ecx, eax
mov dword [ebp - 0x48], edx
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
pop eax
and ecx, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x80], ecx
test edi, edi
jne 0x45961a
push 0x23
pop eax
push 0x28
pop ecx
push 0x3f
pop edx
cmp word [esi + 2], cx
je 0x459716
dec esi
add cl, byte [edi]
test byte [edx], al
salc
add eax, dword [eax]
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop edi
cmp ax, di
je 0x45976b
cmp ax, dx
jne 0x459776
mov ebx, dword [ebp - 0xfc]
mov esi, ecx
mov dword [ebp - 4], esi
mov edx, dword [ebp - 0x28]
push 0x75
pop eax
mov dword [ebp - 0x24], ebx
cmp word [edx], ax
je 0x459781
mov edi, dword [ebp - 8]
movzx ecx, word [edx]
push 0x1d
pop eax
cmp cx, ax
je 0x459ea1
push 0x1e
pop eax
cmp cx, ax
je 0x459ea1
push 0x1f
pop eax
cmp cx, ax
je 0x459ea1
push 0x20
pop eax
cmp cx, ax
je 0x459ea1
cmp ecx, 0x17
jae 0x45980a
push 0x34
mov edi, ecx
pop ebx
mov dword [ebp - 0x18], edi
mov eax, ecx
push 0x10
pop ecx
cmp ax, cx
je 0x459f50
push 0xf
pop ecx
cmp ax, cx
je 0x459f50
or dword [ebp - 0x10], 0xffffffff
lea edi, [edx + 2]
or dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], edx
test eax, eax
je 0x41c22a
mov edx, dword [ebp - 0x24]
add edx, ebx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], edx
jne 0x459f97
mov ecx, dword [ebp - 0x44]
movzx eax, dx
cmp ecx, 0xffffffff
jne 0x459f65
mov ecx, dword [ebp - 0x28]
add eax, 0x21
push 2
mov word [ecx], ax
pop ecx
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x5c], 0
je 0x41c20a
test ebx, 0x10000000
jne 0x45a0c0
mov word [edi], bx
mov ebx, ecx
lea edx, [ebx + edi]
mov dword [ebp - 8], edx
test esi, esi
jns 0x459e8b
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0
jne 0x45a0de
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
or dword [ecx + 0x68], eax
jmp 0x41b9d0
test dword [ebp - 0x2c], 0x1000
jne 0x4595b2
mov edx, dword [ebp - 8]
inc dword [ecx + 0x40]
mov ax, word [ecx + 0x40]
mov ebx, dword [ebp - 0xc]
mov word [edx + 4], ax
mov esi, dword [ebp - 4]
mov ecx, dword [ecx + 0x58]
mov edi, dword [ebp + 0x28]
lea eax, [ecx + 1]
mov dword [edi + 0x58], eax
mov edi, dword [ebp - 0x24]
cmp ecx, 0xfa
jge 0x45b827
mov eax, 0x80
cmp edi, eax
mov eax, dword [ebp + 0x28]
jbe 0x45a53f
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x10]
sar ecx, 1
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov word [edx], di
mov edi, dword [eax + 0x68]
mov esi, dword [eax + 0x40]
mov eax, dword [ebp + 0x2c]
neg eax
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x48], edx
sbb eax, eax
mov dword [ebp - 0x80], edi
and eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x87
sete dl
cmp ecx, 0x7f
je 0x45a55b
cmp ecx, 0x80
je 0x45a55b
xor ecx, ecx
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0xa0]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp + 0x24]
add eax, edx
lea edx, [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.0041b4ca
add esp, 0x34
test eax, eax
je 0x45b3ae
mov ecx, dword [ebp + 0x28]
mov eax, 0x81
mov ebx, dword [ebp - 0x24]
dec dword [ecx + 0x58]
cmp ebx, eax
je 0x45a563
mov eax, dword [ebp - 8]
mov edx, 0x80
cmp ebx, edx
jbe 0x45a57c
mov ecx, 0x87
cmp ebx, ecx
je 0x45a584
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x45b819
cmp dword [ebp + 0x2c], 0
jne 0x41c531
mov edx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x41b9d3
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x68], ecx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, 0x81
cmp ebx, ecx
mov ecx, dword [ebp - 0x9c]
jb 0x45a638
cmp dword [ebp - 0x34], 0xfffffffe
je 0x45a5f1
test ecx, ecx
jns 0x45a619
test eax, eax
js 0x41b9d3
jmp 0x45a650
mov ebx, dword [ebp + 0xc]
lea edx, [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0x74], esi
mov esi, dword [ebp + 0x28]
lea ecx, [ebp - 4]
push eax
push dword [ebp - 0x2c]
push dword [esi + 0x40]
push ebx
call fcn.0041cb89
xor edx, edx
add esp, 0x10
mov edi, eax
cmp dword [ebx], edx
jne 0x45b3ae
test edi, edi
je 0x45a2b7
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41c434
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x41c434
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x70], eax
cmp edi, 0x1b
je 0x45a306
cmp edi, 0x1c
je 0x45a680
test edi, edi
js 0x45aa60
push 0xf
pop eax
cmp edi, eax
je 0x45ab26
push 0x10
pop eax
cmp edi, eax
je 0x45ab26
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x45aadd
push 4
pop eax
cmp edi, eax
je 0x45aadd
cmp edi, ecx
je 0x45aadd
mov ebx, esi
push 0x1d
pop eax
cmp edi, eax
jge 0x45aaf0
push 0x10
pop ecx
lea eax, [edi - 6]
cmp ecx, eax
mov ecx, dword [ebx + 0x20]
sbb edx, edx
sub ecx, dword [ebx + 0x10]
not edx
sar ecx, 1
and edx, dword [ebp - 8]
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x40], ecx
je 0x45ab13
mov edx, dword [ebp - 8]
push 2
pop esi
mov word [edx], di
add edx, esi
mov dword [ebp - 8], edx
jmp 0x41bdd8
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x41bf88
jmp 0x45b436
mov ecx, dword [ebp - 0x60]
or dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0xc]
cmp edi, ecx
jne 0x45b559
movzx eax, ax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x45b573
mov edx, dword [ebp - 8]
jmp 0x41bdd8
mov ebx, dword [ebp + 0x2c]
mov ecx, 0x7fffffeb
mov edi, dword [ebp - 0x8c]
mov edx, dword [ebx]
sub ecx, edx
lea eax, [edi - 4]
cmp ecx, eax
jl 0x45b80b
push 2
pop ecx
lea eax, [edi - 4]
add eax, edx
mov edx, dword [ebp - 8]
add edx, ecx
mov dword [ebx], eax
push 0x78
pop eax
mov word [edx], cx
add edx, ecx
mov word [edx], ax
mov dword [edx], eax
add edx, ecx
mov word [edx], cx
add edx, ecx
jmp 0x41bbb4
call 0x7c2e87ff
jge 0x3435d305
ror byte [ecx + 0x45077520], 0xb0
movzx ebx, word [esi]
mov dword [ebp - 0x10], ebx
jmp 0xbf3db9f4
add byte [ebp - 8], dl
jmp 0xbf3dba26
mov esi, 0x5d89db33
pushfd
jmp 0x4587e8
add esi, 2
jmp 0x6b41b9db
cmp byte [ecx], dl
clc
jmp 0xfbfeb8af
jmp 0x4b2f12d1
or eax, 0x2184fba6
das
lodsd eax, dword [esi]
sti
dec dword [esi + 2]
call fcn.0049b081
add byte [ebp - 4], dh
test eax, eax
add byte [eax - 0xe], dl
mov ch, 0x21
jmp 0x8e44bafd
jge 0x36f57342
cld
dec edx
add byte [edx], al
test dword [ecx], ebx
xor edi, edi
lea ecx, [ebp - 0x30]
mov eax, dword [ebp + 0x6afc3111]
or byte [ebp - 8], al
push 0x76
pop edx
mov dword [ebp + 0x468d0f78], eax
mov word [eax], dx
add eax, 2
mov edx, 0xe8108bff
push 2
mov word [eax], dx
pop edx
add eax, edx
mov edx, dword [ebp + 0x28]
sub esi, dword [edx + 0x18]
sar esi, 1
xor edx, edx
mov word [eax + 2], dx
lea edx, [eax - 5]
mov word [eax], si
push eax
push dword [ebp + 0x38]
adc eax, edi
cmp byte [ecx], dl
clc
jmp 0xc41bb22
mov ecx, dword [ebp - 0xc]
jmp 0x1441c0b5
adc ebp, dword [edx + 0x3c]
jmp 0x4c69b897
mov edx, dword [esp - 5]
push es
jne 0xff61b884
push ebx
mov edx, 0x4c8004
mov ecx, eax
call 0x1441c611
pop ecx
test eax, eax
add byte [eax - 0x75], dl
cmpsb byte es:[esi], byte es:[edi]
sti
ja 0x6ad74af4
sbb bl, ch
outsd dx, dword [esi]
pop ebp
hlt
mov dword [edx + 4], eax
mov edi, 0x18ebfc75
ja 0x2b92008
xor eax, eax
mov dword [eax], esp
jne 0x4591d5
or dword [esp + 0x4c], 0xffffff89
inc ebp
ror byte [ecx - 0x27742383], 1
mov ecx, dword [ebp + 0x28]
jmp 0x1441c266
pop ecx
cmp eax, ecx
je 0x459256
push 0x2d
pop ecx
cmp eax, ecx
je 0x459256
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
cmp eax, 0x2f
jbe 0x41bd0e
push 0x39
pop ecx
mov dword [ebp - 0x1c], edx
cmp eax, ecx
ja 0x41bd0e
push 0x29
pop eax
mov dword [ebp - 0x14], eax
in al, dx
mov edx, esi
jmp 0xced0a3ad
jl 0x45922c
or dword [esp + 0x4c], 0xffffffeb
push es
inc dword [ecx + 0x5c]
push 0x7d
pop edi
cmp esi, eax
add ch, bl
push cs
mov edi, 0x84c7f855
and al, 0x4d
sub bh, bh
inc ecx
pop esp
add esi, 4
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], esi
jmp 0xa652a53c
test byte [ecx + ebx*8], ah
jmp 0xfc05a8a5
mov dword [ebp - 0x10], edx
jmp 0xfbeba6dc
pop eax
add edx, eax
jmp 0xa841c4e2
push ebp
clc
invalid
in al, dx
jg 0x459614
jmp 0xff829283
mov dword [ebp - 0x24], edi
jmp 0xfd33c266
add eax, 0x19
jmp 0x1441bbb4
mov eax, dword [ebp - 0xc]
jmp 0x41c0b8
and ah, byte [esi - 0x43baf005]
mov ecx, dword [ebp - 0x4c]
jmp 0x1441c0c1
mov dword [ebp - 4], esi
jmp 0x41c10c
push 0x3f
pop edx
jmp 0x6b41c11c
mov dword [ebp - 0x1c], eax
jmp 0x6b41c13d
jge 0x29ff80cd
out dx, al
cld
in al, dx
cmp al, 0x5e
push esi
push edx
lea eax, [edx + 4]
push eax
call 0x932f2728
mov ah, 0x55
fmul dword [ebp + 0x7d8b7d46]
clc
ror byte [edi], cl
or al, 0x83
invalid
mov edi, 0x45e9fc75
sub esi, ebp
cld
in al, dx
outsb dx, byte [esi]
pop eax
cmp cx, ax
je 0x8b99e2d
push 0x6f
pop eax
cmp cx, ax
je 0x8b99e2d
push 0x70
pop eax
cmp cx, ax
je 0xe8559e2d
push 0x71
pop eax
cmp cx, ax
je 0xe8559e2d
cmp ecx, 0x72
je 0xe8559e2d
push 0x73
pop eax
cmp cx, ax
je 0xe8559e2d
cmp ecx, 0x74
je 0xe8559e2d
push 0xa
lea eax, [ecx - 0x7d]
pop ebx
cmp ax, bx
ja 0xe8559e11
in al, dx
inc ebp
shr byte [ebx], 0xfa
mov dword [ebp - 0x10], eax
mov ebx, edi
xor eax, eax
sar ebx, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], eax
mov eax, 0xeb186a84
mov dword [ebp - 0x38], ebx
cmp cx, ax
jne 0x45989d
add eax, 0xa
cmp word [edx + 4], ax
je 0xfd33c232
mov eax, 0xc7f85581
cmp cx, ax
mov ecx, dword [ebp - 0x4c]
jae 0x4598c6
retf 0x200
or byte [ebp - 0x44], al
test ecx, ecx
jne 0x4704a88d
jmp 0x72d35997
and eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
jmp 0x459e9c
mov word [edx], ax
add edx, ecx
cmp byte [ecx], dl
clc
jmp 0xe90fc225
call 0x932f0e28
mov ah, 0x55
fdiv dword [eax + 4]
mov eax, dword [ecx]
jne 0x459f09
or edi, 0x10000000
mov dword [ebp - 0x18], edi
movzx eax, word [edx]
jmp 0x932ec19d
in al, dx
jb 0x459eff
jmp 0x932ec19b
mov dword [ebp - 0x10], eax
jmp 0x932ec1c0
pop es
add edi, ecx
jmp 0xe90fc200
mov dword [ecx], eax
pop ecx
jmp 0x1441c200
push 2
pop ecx
jmp 0x1441c217
push eax
push dword [ebp - 0x17]
neg dword [edi]
cld
cmpsd dword [esi], dword es:[edi]
xor eax, eax
test byte [ebp - 0x2c], 2
mov dword [ebp - 0x28], eax
je 0x45a258
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x45a254
or dword [ebp - 0x34], 0xffffffff
or dword [ebp - 0x68], 0xffffffff
push 0x1c
jmp 0x45a25a
push 0x1b
pop ecx
mov word [edx], cx
add edx, 2
jmp 0x932ec4e2
ja 0x16698c82
cld
adc eax, dword [ebx + 0xbb02c6]
cld
adc al, ch
push 2
mov ax, word [esi]
and ax, bx
mov ebx, 0xe810dc00
cmp ax, bx
jne 0x41b8d7
mov dword [ebp - 4], esi
mov ax, word [esi]
pop esi
mov word [ebp + 0x186a84f6], ax
push esi
invalid
sbb byte [esi - 2], dl
jmp 0xe90fb8d8
clc
mov edi, ecx
jmp 0xc41b8d5
dec ebx
push ebp
in al, 0xe9
pop edx
sbb dl, cl
call 0x669fd1b8
cmp eax, edx
je 0x45a4f7
cmp eax, 0x4a
je 0x45a4e2
cmp eax, 0x55
add al, 0x11
cmp eax, 0x58
jne 0x54d0b7e6
and al, 9
inc eax
jmp 0xe90fbd55
mov ah, 0x45
sub byte [ecx + 0x8000009], al
add byte [ecx + 0x4006448], al
mov ecx, esi
jmp 0x21fabd55
add al, byte [eax]
invalid
push 2
pop eax
jmp 0x932ebd53
mov ebx, dword [ebp - 0x18]
jmp 0x1441c266
mov al, 0x18
dec ebp
jmp 0xc41c2a1
mov ecx, dword [ebp - 0xc]
jmp 0xc41c2ea
mov word [eax], dx
jmp 0x6b41c34e
dec dword [ecx + 0x5c]
jmp 0x4741c35b
jge 0x1dbb8f3d
cld
adc esi, esp
jmp 0x9dd0bd77
dec ebp
cwde
invalid
lea eax, [esi - 1]
jmp 0x4741c3e1
lea ecx, [ebp - 0x37]
jmp 0x6b41c3e3
add edi, dword [ebx + 0x40]
jmp 0x845a8a5
mov dword [ebp - 0x58], edi
jmp 0x41b9d5
mov dword [ecx + 6], eax
jmp 0x41bde0
mov dword [ebx + 0x48], ecx
jmp 0x1441c4a5
mov al, 0x2b
bnd jmp 0x1441b9d8
pop eax
mov edi, eax
jmp 0x1441c4d7
mov word [edx], ax
jmp 0x1441c4e0
adc edi, dword [esi + 0x4c3c04]
jmp 0x45abbc
add byte [eax - 0x18], dl
int3
mov dword [ebp - 4], esi
jmp 0x1441b9e6
and al, 0x4d
cld
jmp 0x41be5a
or byte [ebp - 0x10], al
jmp 0x41be64
mov eax, dword [ebp - 0xc]
jmp 0x41be61
mov dword [ebp - 0x68], ecx
jmp 0x1441bde0
mov dword [ebp - 0x14], edi
jmp 0x41beed
mov dword [ebp - 0x70], eax
jmp 0x41bef9
mov edi, dword [ebp - 0x14]
jmp 0x41bf0a
mov ah, 0x5d
in al, 0xe9
ret 0xfc12
cld
invalid
push ebx
dec esp
add cl, ch
xchg edx, eax
sti
invalid
mov ebx, dword [ebp - 0x2c]
jmp 0x41bf3d
or byte [eax + eax - 0x3f31817], cl
jmp [edx + 0x5c]
pop ebp
or al, 0xc7
add edx, dword [ebx + 0x39]
inc esp
and al, 0xc
jne 0x45b3b5
jmp 0xe855b8c6
mov ecx, dword [ebp - 0x64]
jmp 0x4741bf69
test edi, edi
jne 0xe90fbfd0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x13204306
inc ebx
and byte [ebx], dl
jmp 0xced0b8c6
in eax, dx
invalid
dec ebp
add byte [eax - 0x17], dl
retf
dec ebp
int3
or byte [eax + eax - 0x3fbcd17], cl
inc dword [ebx + 0x468d6cbd]
inc dword [eax]
je 0x41c566
or dword [ebp - 0x54], 0xffffffff
or dword [ebp - 0x34], 0xffffffff
jmp 0x1441b9d5
dec ebp
int3
mov dword [ebp - 0x60], ecx
jmp 0x41b9d2
add al, 0xfc
invalid
mov word [edx + 2], es
jmp 0x41b9d5
sal dword [edx - 0xc], 0xe9
outsb dx, byte [esi]
or esp, edi
invalid
inc ebx
and byte [ebx], dl
jmp 0xe85643c6
dec ebp
or eax, dword [edi - 0x45c17]
call 0xc751fda2
add byte [eax + ebp*8], dl
inc esi
add cl, ch
movsd dword es:[edi], dword [esi]
call 0xa62eb864
dec esp
mov edx, dword [ebx + ecx*4 + 0x45]
or al, 0xc7
add byte [esi], cl
jne 0x8bdd6d8f
adc al, ch
push 0x52
jmp 0x45b897
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x45b8c6
mov dword [eax], 0xc7852400
jmp 0x45b8c6
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x41bc26