Function at 0x300fb9ba
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov ecx, dword [ebp + 0xc]
or dword [ebp - 0x1c], 0xffffffff
cmp ecx, 4
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x1c]
mov dword [ebp + 8], eax
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x20], eax
jne 0x300fb9e8
xor esi, esi
jmp 0x300fb9f0
push edi
call fcn.300fb1c6
mov esi, eax
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x24]
and dword [ebp - 0x14], 0
and dword [ebp - 0x18], 0
add ebx, eax
add eax, 0xff
cmp dword [ebp + 0xc], 1
mov dword [ebp - 0x10], eax
jne 0x300fbf44
push 0
call fcn.300129c4
push dword [edi + 0x854]
call fcn.3001295f
jmp 0x300fbf44
lea eax, [ebx + 8]
cmp eax, dword [ebp - 0x10]
jae 0x300fc53c
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
imul eax, eax, 6
add eax, edi
dec edx
movzx ecx, word [eax + 0x5c]
mov dword [ebp - 4], eax
movzx eax, byte [eax + 0x58]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], eax
je 0x300fbd86
dec edx
je 0x300fbd32
dec edx
je 0x300fbc04
dec edx
je 0x300fbae7
dec edx
jne case.0x300fbc15.11
mov edx, 0x600d
cmp ecx, edx
jg 0x300fc2c1
je 0x300fc56c
add edx, 0xfffffff8
cmp ecx, edx
jg 0x300fc241
je 0x300fc224
sub ecx, 9
je 0x300fc1e3
sub ecx, 0x1ffb
je 0x300fc143
sub ecx, 0x3ffd
je 0x300fc004
dec ecx
je 0x300fbfd6
dec ecx
je 0x300fbf83
dec ecx
jne case.default.0x300fc2d0
cmp dword [0x301e3f60], 5
jne 0x300fbadd
test byte [edi + 0x52], 2
jne case.0x300fc2d0.24598
mov word [esi], 0x15
jmp 0x300fc416
mov eax, 0x6005
cmp ecx, eax
jg 0x300fbb33
je 0x300fbb27
sub ecx, 8
je 0x300fbb17
dec ecx
dec ecx
je 0x300fc531
sub ecx, 0x5ff8
je 0x300fbb27
dec ecx
dec ecx
jne case.default.0x300fc2d0
mov dword [ebp - 4], 0x30
jmp 0x300fbbba
mov eax, dword [ebp + 8]
add eax, 0xf
imul eax, eax, 6
cmp word [eax + edi], 0x20
jmp 0x300fbb4e
mov dword [ebp - 4], 0x31
jmp 0x300fbbba
sub ecx, 0x6006
je 0x300fbb9d
sub ecx, 0x10
je 0x300fbb5b
sub ecx, 0x1feb
jne case.default.0x300fc2d0
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x24]
je case.0x300fbc15.11
push 1
jmp 0x300fc53e
cmp dword [ebp - 0x14], 0
jne case.default.0x300fc2d0
push edi
call fcn.300fb1c6
mov esi, eax
mov ax, word [esi + 2]
and ah, 0xf3
or ah, 2
mov word [esi + 2], ax
or byte [edi + 0x51], 0x20
mov word [esi], 0x5e
mov al, byte [ebp - 8]
or byte [esi + 3], 1
mov dword [ebp - 0x14], 1
mov dword [ebp - 0xc], 5
mov byte [esi + 2], al
jmp case.0x300fbc15.11
cmp dword [0x301e3f60], 5
jne 0x300fbbb3
test byte [edi + 0x52], 2
mov dword [ebp - 4], 0x5e
jne 0x300fbbba
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0x14], 0
jne case.default.0x300fc2d0
push edi
call fcn.300fb1c6
cmp dword [0x301e3f60], 5
mov esi, eax
jne 0x300fbbdf
test byte [edi + 0x52], 2
je 0x300fbbdf
mov eax, dword [ebp - 4]
lea ecx, [eax - 2]
jmp 0x300fbbe4
mov eax, dword [ebp - 4]
mov ecx, eax
shl ecx, 0xa
xor cx, word [esi + 2]
and cx, 0xc00
xor word [esi + 2], cx
or byte [esi + 3], 2
or byte [edi + 0x51], 0x20
mov word [esi], ax
jmp 0x300fbb80
dec ecx
cmp ecx, 0x14
ja case.0x300fbc15.12
movzx ecx, byte [ecx + 0x300fc620]
jmp dword [ecx*4 + 0x300fc5ec]
mov byte [ebx], 4
mov eax, dword [ebp + 8]
add eax, 0xf
imul eax, eax, 6
mov ax, word [eax + edi]
inc ebx
mov word [ebx], ax
inc ebx
inc ebx
jmp case.0x300fbc15.11
add eax, eax
mov dword [ebp - 4], eax
lea eax, [eax + ebx + 2]
cmp eax, dword [ebp - 0x10]
ja 0x300fc53c
mov al, byte [ebp - 8]
push dword [ebp - 0x10]
mov byte [ebx], 3
inc ebx
mov byte [ebx], al
inc ebx
push ebx
push dword [ebp + 8]
push edi
call fcn.300fb982
add ebx, dword [ebp - 4]
jmp case.0x300fbc15.11
mov byte [ebx], 0x5d
inc ebx
jmp case.0x300fbc15.11
mov byte [ebx], 0x2d
jmp 0x300fbc1f
mov byte [ebx], 7
jmp 0x300fbc6b
mov byte [ebx], 0x41
inc ebx
and dword [ebp - 8], 0
lea eax, [edi + 0x866]
jmp 0x300fbc93
cmp cx, 0x2d
je 0x300fbc9d
inc eax
inc eax
mov cx, word [eax]
test cx, cx
jne 0x300fbc8b
jmp 0x300fbcbc
mov ecx, eax
sub ecx, edi
sub ecx, 0x866
add eax, 2
sar ecx, 1
push eax
mov word [edi + 0x864], cx
call fcn.300c7ae0
mov dword [ebp - 8], eax
lea eax, [edi + 0x864]
movzx ecx, word [eax]
inc ecx
push ecx
push ebx
push eax
call fcn.30055d91
movzx eax, word [edi + 0x864]
lea ebx, [ebx + eax*2 + 2]
mov eax, dword [ebp - 8]
mov dword [ebx], eax
add ebx, 4
jmp case.0x300fbc15.11
test byte [0x301e4ceb], 8
je case.0x300fbc15.11
mov byte [ebx], 0x3d
jmp 0x300fbc6b
test byte [0x301e4ceb], 8
je case.0x300fbc15.11
mov byte [ebx], 0x3e
jmp 0x300fbc6b
mov eax, dword [ebp + 8]
add eax, 0xf
imul eax, eax, 6
mov byte [ebx], 2
mov ax, word [eax + edi]
inc ebx
mov word [ebx], ax
inc ebx
inc ebx
or byte [0x301e75e4], 2
jmp case.0x300fbc15.11
sub ecx, 0x4001
jne 0x300fbf55
test byte [edi + 0x50], 2
je 0x300fc59b
push 3
pop eax
mov dword [ebp + 0xc], eax
mov dword [ebp - 0xc], eax
test byte [edi + 0x50], 2
je case.0x300fbc15.6
mov eax, dword [ebp + 8]
add eax, 0xf
imul eax, eax, 6
mov ax, word [eax + edi]
cmp word [0x301dda70], ax
je 0x300fc56c
cmp word [0x301dda6e], ax
je 0x300fc577
mov byte [ebx], 2
jmp 0x300fbc1f
test ch, 0x10
je 0x300fbdb2
cmp ecx, 0x3005
je 0x300fbdb2
cmp dword [edi + 0x28], 0xffffffff
jne 0x300fbda1
mov edx, ebx
sub edx, dword [edi + 4]
mov dword [edi + 0x28], edx
or byte [esi + 3], 0x20
cmp dword [ebp - 0x18], 0
jne 0x300fbdaf
add byte [esi], al
jmp 0x300fbdb2
add byte [esi + 1], al
push 9
pop edx
sub ecx, edx
je 0x300fbe96
sub ecx, 0x1ffb
je 0x300fbe7e
sub ecx, 0xffd
je 0x300fbe47
dec ecx
je 0x300fbe19
dec ecx
je 0x300fbe10
dec ecx
dec ecx
jne case.0x300fbc15.12
test byte [edi + 0x50], 0x20
jne 0x300fbe1f
mov eax, dword [ebp + 8]
lea ecx, [eax + 0xf]
imul ecx, ecx, 6
mov byte [ebx], 2
mov cx, word [ecx + edi]
inc ebx
add cx, 0x30
push eax
mov word [ebx], cx
push esi
inc ebx
push edi
inc ebx
call fcn.300fb27d
or dword [ebp - 0x1c], 0xffffffff
jmp case.0x300fbc15.11
mov dword [ebp - 4], 0x26
jmp 0x300fbe57
test byte [edi + 0x50], 0x20
je 0x300fbe31
cmp dword [ebp - 0x18], 0
mov dword [ebp - 4], edx
jne 0x300fbe2c
add byte [esi], al
jmp 0x300fbe38
add byte [esi + 1], al
jmp 0x300fbe38
mov dword [ebp - 4], 0xb
push dword [ebp + 8]
push esi
push edi
call fcn.300fb27d
mov eax, dword [ebp - 8]
jmp 0x300fbe5b
test byte [esi + 3], 2
je 0x300fbe54
or byte [0x301e75e4], 0x10
mov dword [ebp - 4], edx
or byte [esi + 3], 0x10
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x1c]
jne 0x300fbe6b
add byte [ebx - 1], al
jmp case.0x300fbc15.11
mov cl, byte [ebp - 4]
mov byte [ebx], cl
movzx ecx, cl
inc ebx
mov dword [ebp - 0x1c], ecx
mov byte [ebx], al
jmp 0x300fbc6b
inc dword [ebp - 0x18]
or dword [ebp - 0x1c], 0xffffffff
mov byte [ebx], 0xa
or byte [esi + 3], 2
inc ebx
or dword [edi + 0x50], 0x10
jmp case.0x300fbc15.11
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 0x14]
inc edx
cmp edx, ecx
mov dword [ebp - 8], ecx
jge 0x300fbeb3
mov ecx, dword [ebp - 4]
mov cx, word [ecx + 0x62]
and ecx, 0x1000
jmp 0x300fbeb5
xor ecx, ecx
test ecx, ecx
jne 0x300fbf37
mov cx, word [0x301dda6c]
cmp cx, word [0x301dda74]
jne 0x300fbf2a
mov cl, byte [0x301de06a]
test cl, 0x10
jne 0x300fbeef
test cl, 8
je 0x300fbeef
xor ecx, ecx
cmp edx, dword [ebp - 8]
jge 0x300fbeeb
mov edx, dword [ebp - 4]
cmp word [edx + 0x62], 4
sete cl
test ecx, ecx
jne 0x300fbf19
test byte [0x301de0a4], 2
je 0x300fbf2a
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 0x14]
inc ecx
cmp ecx, edx
jge 0x300fbf13
mov edx, dword [ebp - 4]
xor ecx, ecx
cmp word [edx + 0x62], 0x4004
sete cl
jmp 0x300fbf15
xor ecx, ecx
test ecx, ecx
je 0x300fbf2a
mov byte [ebx], 2
mov cx, word [0x301dda74]
inc ebx
mov word [ebx], cx
inc ebx
inc ebx
dec eax
test eax, eax
je case.0x300fbc15.11
mov cl, 0xfd
imul cl
add byte [esi + 2], al
jmp case.0x300fbc15.11
test byte [edi + 0x50], 0x10
jne case.0x300fbc15.11
or byte [esi + 3], 1
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x20]
jl 0x300fba29
jmp case.0x300fbc15.12
dec ecx
je 0x300fc560
dec ecx
je 0x300fc55a
dec ecx
je 0x300fc552
dec ecx
je 0x300fc547
dec ecx
jne case.0x300fbc15.12
mov byte [esi], 5
mov byte [ebx], 6
jmp 0x300fc459
cmp byte [0x301e4d00], 0
je 0x300fbfb9
cmp dword [0x301e3f60], 5
jne 0x300fbfcc
cmp eax, 3
jl 0x300fbfc2
test byte [edi + 0x52], 4
je 0x300fbfa9
cmp dword [edi + 0x40], 0x409
je 0x300fbfc2
xor ecx, ecx
cmp eax, 3
setne cl
add ecx, 0x33
jmp 0x300fc390
cmp dword [0x301e3f60], 5
jne 0x300fbfcc
test byte [edi + 0x52], 2
jne case.0x300fc2d0.24597
mov word [esi], 0xd
jmp 0x300fc3dd
cmp dword [0x301e3f60], 5
jne 0x300fbfec
test byte [edi + 0x52], 2
je 0x300fbfec
mov word [esi], 0x46
jmp 0x300fbff1
mov word [esi], 0x11
cmp eax, 5
jne 0x300fc3dd
mov word [esi], 0x3b
jmp 0x300fc3eb
cmp dword [0x301e3f60], 5
jne 0x300fc133
mov ecx, dword [edi + 0x50]
mov edx, ecx
shr edx, 0x12
and edx, 1
mov dword [ebp + 0xc], edx
je 0x300fc070
mov edx, dword [edi + 0x40]
cmp edx, 0x404
je 0x300fc034
cmp edx, 0x411
jne 0x300fc06d
cmp eax, 1
je 0x300fc063
cmp edx, 0x404
je 0x300fc04a
cmp dword [0x301ddd88], 0
je 0x300fc04f
cmp eax, 2
je 0x300fc063
xor ecx, ecx
cmp eax, 2
setne cl
dec ecx
and ecx, 0x1d
add ecx, 0x1c
jmp 0x300fc390
mov word [esi], 0x38
jmp 0x300fc455
mov edx, dword [ebp + 0xc]
cmp eax, 2
mov eax, 0x41e
jg 0x300fc0d6
shr ecx, 0x11
mov dword [ebp + 0xc], ecx
and dword [ebp + 0xc], 1
je 0x300fc0a1
test edx, edx
je 0x300fc0a1
cmp dword [0x301e4ce0], eax
jne 0x300fc0a1
cmp dword [edi + 0x40], eax
jne 0x300fc0a1
mov word [esi], 0x50
jmp 0x300fc455
cmp dword [ebp + 0xc], 0
je 0x300fc0b1
mov word [esi], 0x5a
jmp 0x300fc455
test edx, edx
je 0x300fc0cc
cmp dword [0x301e4ce0], eax
jne 0x300fc0cc
cmp dword [edi + 0x40], eax
jne 0x300fc0cc
mov word [esi], 0x58
jmp 0x300fc455
mov word [esi], 0x1b
jmp 0x300fc455
test edx, edx
je 0x300fc0fc
test ecx, 0x20000
je 0x300fc10e
cmp dword [0x301e4ce0], eax
jne 0x300fc0f9
cmp dword [edi + 0x40], eax
jne 0x300fc0f9
mov word [esi], 0x51
jmp 0x300fc455
mov edx, dword [ebp + 0xc]
test ecx, 0x20000
je 0x300fc10e
mov word [esi], 0x5b
jmp 0x300fc455
test edx, edx
je 0x300fc129
cmp dword [0x301e4ce0], eax
jne 0x300fc129
cmp dword [edi + 0x40], eax
jne 0x300fc129
mov word [esi], 0x59
jmp 0x300fc455
mov word [esi], 0x1c
jmp 0x300fc455
xor ecx, ecx
cmp eax, 2
setg cl
add ecx, 0x1b
jmp 0x300fc390
mov ecx, dword [ebp + 8]
lea edx, [ecx + 1]
cmp edx, dword [ebp - 0x20]
mov dword [ebp + 0xc], edx
je 0x300fc19b
mov eax, ecx
imul eax, eax, 6
add eax, edi
cmp word [eax + 0x62], 0x3002
jne 0x300fc19b
mov word [esi], 0x2e
mov byte [ebx], 0x2e
mov al, byte [eax + 0x5e]
push 3
mov byte [esi + 2], al
push 0
inc ebx
and eax, 0xff
push eax
call fcn.30056058
test eax, eax
jne 0x300fc18c
push 1
push dword [ebp + 0xc]
jmp 0x300fc541
mov al, byte [esi + 2]
mov byte [ebx], al
inc ebx
add dword [ebp + 8], 2
jmp case.0x300fbc15.12
mov ax, word [0x301dda68]
cmp word [0x301dda70], ax
jne 0x300fc1b5
mov word [esi], 0x24
mov byte [ebx], 0x24
inc ebx
jmp 0x300fc1db
cmp word [0x301dda6e], ax
jne 0x300fc1c3
mov word [esi], 0x25
add ecx, 0xf
imul ecx, ecx, 6
mov word [esi], 2
mov byte [ebx], 2
mov ax, word [ecx + edi]
inc ebx
mov word [ebx], ax
inc ebx
inc ebx
mov dword [ebp + 8], edx
jmp case.0x300fbc15.12
mov ax, word [0x301dda6c]
cmp word [0x301dda70], ax
je 0x300fc56c
cmp word [0x301dda6e], ax
jne 0x300fc204
mov word [esi], 0x25
mov word [esi], 2
mov eax, dword [ebp + 8]
add eax, 0xf
imul eax, eax, 6
mov byte [ebx], 2
mov ax, word [eax + edi]
inc ebx
mov word [ebx], ax
inc ebx
inc ebx
jmp 0x300fc5a9
cmp dword [0x301e3f60], 5
jne 0x300fc237
test byte [edi + 0x52], 2
jne case.0x300fc2d0.24599
mov word [esi], 0x17
jmp 0x300fc421
mov edx, ecx
sub edx, 0x6006
je 0x300fc2a4
dec edx
je case.0x300fc2d0.24592
dec edx
je 0x300fc577
dec edx
je 0x300fc282
dec edx
jne case.default.0x300fc2d0
push 2
push dword [ebp - 8]
call fcn.30055f82
add eax, 0x37
mov word [esi], ax
mov dword [0x301e75cc], 1
jmp 0x300fc455
cmp eax, 3
jne 0x300fc291
mov word [esi], 0x33
jmp 0x300fc455
cmp eax, 4
jl 0x300fc455
mov word [esi], 0x34
jmp 0x300fc455
cmp dword [0x301e3f60], 5
jne 0x300fc2b7
test byte [edi + 0x52], 2
jne case.0x300fc2d0.24600
mov word [esi], 0x19
jmp 0x300fc432
lea edx, [ecx - 0x600e]
cmp edx, 0xc
ja case.default.0x300fc2d0
jmp dword [edx*4 + 0x300fc638]
test byte [0x301e4ceb], 1
je 0x300fc2fd
cmp dword [0x301e3f60], 5
jne 0x300fc2fd
test byte [edi + 0x52], 4
je 0x300fc2fd
cmp dword [edi + 0x40], 0x401
jne 0x300fc2fd
mov word [esi], 0x3f
test byte [0x301e4ceb], 4
je 0x300fc455
cmp dword [ebp + 8], 0
je 0x300fc325
cmp dword [ebp + 8], 1
jne case.default.0x300fc2d0
cmp word [edi + 0x5c], 0x13
jne case.default.0x300fc2d0
xor eax, eax
cmp ecx, 0x6011
setne al
add eax, 0x3f
mov word [esi], ax
jmp 0x300fc455
cmp byte [0x301e4d00], 0
je case.default.0x300fc2d0
mov ecx, dword [0x301ddd88]
mov eax, ecx
or eax, dword [0x301ddc18]
je case.default.0x300fc2d0
cmp dword [0x301ddc18], 0
je 0x300fc377
push 2
push dword [ebp - 8]
call fcn.30055f82
mov ecx, dword [0x301ddd88]
jmp 0x300fc37a
xor eax, eax
inc eax
cmp eax, 2
jne 0x300fc389
mov byte [ebx], 0x37
mov ecx, dword [0x301ddd88]
inc ebx
neg ecx
sbb ecx, ecx
add ecx, 0x39
mov word [esi], cx
jmp 0x300fc455
push 3
push dword [ebp - 8]
call fcn.30055f82
add eax, 0x34
jmp 0x300fc270
xor ecx, ecx
cmp eax, 2
setg cl
add ecx, 0x50
jmp 0x300fc390
xor ecx, ecx
cmp eax, 2
setg cl
add ecx, 0x58
jmp 0x300fc390
xor ecx, ecx
cmp eax, 2
setg cl
add ecx, 0x5a
jmp 0x300fc390
mov word [esi], 0x46
jmp 0x300fc3dd
mov word [esi], 0x42
push 4
push dword [ebp - 8]
call fcn.30055f82
dec eax
add word [esi], ax
cmp byte [0x301e4d00], 0
je 0x300fc455
cmp dword [0x301e3f60], 3
jne 0x300fc455
cmp dword [0x301e3340], 5
jge 0x300fc455
cmp word [esi], 0x10
jne 0x300fc455
jmp 0x300fc287
mov word [esi], 0x4a
and byte [esi + 3], 0xf3
jmp 0x300fc440
mov word [esi], 0x4c
mov cx, word [esi + 2]
and ch, 0xf7
or ch, 4
jmp 0x300fc43c
mov word [esi], 0x4e
mov cx, word [esi + 2]
and ch, 0xfb
or ch, 8
mov word [esi + 2], cx
cmp eax, 2
jle 0x300fc448
push 2
pop eax
lea ecx, [eax - 1]
add word [esi], cx
mov byte [esi + 2], al
or byte [esi + 3], 2
mov al, byte [esi]
mov byte [ebx], al
inc ebx
jmp 0x300fc5a9
xor eax, eax
cmp ecx, 0x6010
setne al
dec eax
and eax, 0x3d
add eax, 0x22
mov word [esi], ax
mov byte [ebx], al
mov eax, dword [ebp + 8]
mov edx, dword [edi]
imul eax, eax, 6
add eax, edi
movzx ecx, byte [eax + 0x59]
movzx eax, byte [eax + 0x58]
lea ecx, [edx + ecx*2]
inc ebx
cmp dword [ebp - 0x28], 0x6010
lea eax, [ecx + eax*2]
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x20], eax
je 0x300fc522
cmp byte [0x301e4d00], 0
jne 0x300fc4f9
push 3
sub eax, ecx
sar eax, 1
push eax
push 0x300fc66c
push ecx
call fcn.30055c94
test eax, eax
je 0x300fc511
mov al, byte [0x301de07c]
mov byte [ebx], al
mov al, byte [0x301de090]
inc ebx
mov byte [ebx], al
movzx eax, word [0x301de07c]
push eax
inc ebx
push ebx
push 0x301de07e
call fcn.30055d91
movzx ecx, word [0x301de090]
push ecx
push eax
push 0x301de092
call fcn.30055d91
jmp 0x300fc52d
cmp dword [ebp + 8], 0
jne 0x300fc511
cmp dword [0x301ddc14], 0
je 0x300fc511
cmp dword [0x301e3f60], 5
je 0x300fc522
push dword [ebp - 0x20]
push dword [ebp + 0xc]
push dword [ebp - 0x10]
push ebx
call fcn.300f667e
jmp 0x300fc52d
push 0xff
push ebx
call fcn.3011811c
mov ebx, eax
jmp 0x300fc5a9
cmp dword [ebp - 0x14], 0
jne 0x300fc5a9
jmp case.default.0x300fc2d0
push 2
push dword [ebp + 8]
push edi
call fcn.300fb164
mov byte [esi], 4
mov byte [ebx], 1
jmp 0x300fc459
mov byte [esi], 3
jmp 0x300fc209
mov byte [esi + 1], 0x1f
jmp 0x300fc564
mov byte [esi + 1], 0x1e
mov byte [esi], 2
jmp 0x300fc209
mov word [esi], 0x24
mov byte [ebx], 0x24
inc ebx
jmp 0x300fc592
mov eax, dword [ebp + 8]
add eax, 0xf
imul eax, eax, 6
mov word [esi], 0x25
mov byte [ebx], 2
mov ax, word [eax + edi]
inc ebx
mov word [ebx], ax
inc ebx
inc ebx
mov dword [ebp - 0xc], 5
jmp 0x300fc5a9
mov byte [esi], 1
mov byte [ebx], 0x2a
inc ebx
or byte [0x301e75e4], 0x10
inc dword [ebp + 8]
test esi, esi
je 0x300fc5dc
xor eax, eax
mov ah, byte [ebp - 0xc]
xor ax, word [esi + 4]
and ax, 0x700
xor word [esi + 4], ax
mov al, byte [ebp - 0x24]
mov byte [esi + 4], al
mov al, byte [edi + 0x24]
mov byte [esi + 6], al
sub bl, byte [edi + 0x24]
sub bl, byte [edi + 4]
movzx eax, bl
mov byte [esi + 7], bl
add dword [edi + 0x24], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret 8