Function at 0x439f30
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3a4
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov edi, dword [ebx + 4]
test edi, edi
je 0x43b8fe
mov edx, 1
xor eax, eax
mov esi, dword [edi + 0x58]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ebx
mov ebx, edx
cmp dword [edi + 0xd8], 0
jle 0x43b0d2
mov ecx, dword [esi + 0xc]
cmp ecx, 1
jle 0x439fff
lea eax, [ecx - 1]
mov dword [ebp - 0x24], eax
mov dword [esi + 0xc], eax
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x43a04e
test al, 0x20
je 0x43a04e
mov edx, dword [ebp + 0xc]
movsx edx, byte [edx]
cmp edx, 2
je 0x43aee0
and eax, 0xffffffdf
cmp edx, 1
je 0x43aebf
and eax, 0xffffffbf
mov byte [esi + 0x9f], al
push edi
mov dword [ebp - 0x34], ecx
call fcn.00462930
mov ecx, dword [ebp - 0x34]
add esp, 4
test eax, eax
jne 0x43ae0e
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x439fee
test al, 0x20
jne 0x43b8cb
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0xc], ecx
or eax, 0x20
mov byte [esi + 0x9f], al
jmp 0x43a04e
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
cmp ecx, 2
je 0x43b8a9
movzx eax, byte [esi + 0x9f]
and eax, 0xffffffdf
cmp ecx, 1
je 0x43b888
and eax, 0xffffffbf
mov byte [esi + 0x9f], al
push edi
call fcn.00462930
add esp, 4
test eax, eax
jne 0x43b7d7
movzx eax, byte [esi + 0x9f]
test al, 0x10
je 0x43a04e
test al, 0x20
jne 0x43aefb
movsx ecx, byte [esi + 0x98]
add ecx, 0xfffffffe
cmp ecx, 0x1a
ja case.0x43a061.3
jmp dword [ecx*4 + 0x4ab800]
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0x40], eax
mov edx, dword [edi + 0x3c]
mov eax, dword [esi + 0x88]
lea ecx, [edx + eax]
cmp ecx, dword [edi + 0x44]
ja 0x43af41
test eax, eax
jg 0x43af15
mov eax, dword [edi + 0x4c]
cmp edx, eax
ja 0x43a097
mov edx, eax
mov dword [edi + 0x4c], edx
jmp case.0x43a061.16
mov ecx, dword [edi + 0xd8]
dec ecx
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0xfc]
add eax, edx
mov dword [edi + 0x3c], edx
test ecx, ecx
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], edx
mov dword [edi + 0xd8], ecx
jle 0x43b002
push dword [edi + 0xf8]
push 0x20
push edx
call fcn.004a2ae0
add esp, 0xc
jmp case.0x43a061.16
cmp ebx, 2
jge case.0x43a061.16
jmp 0x43b0c3
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp ecx, 1
je 0x43b3c2
cmp ecx, 2
je 0x43b3a3
test byte [esi + 0x9e], 0x20
jne 0x43a20a
mov dword [ebp - 0x3a4], eax
mov edx, ebx
mov ebx, dword [ebp - 0x20]
test byte [edi + 0x170], 2
je 0x43a164
test dword [ebp - 0x3a4], 0x80
je 0x43a164
push edx
mov dword [ebp - 0x1cc], edx
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x1c4]
push ecx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
push ecx
call fcn.004575f0
mov edx, dword [ebp - 0x1cc]
add esp, 0x14
test eax, eax
jne 0x43b2b9
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43a1a0
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b29a
test byte [eax + 0x44], 2
je 0x43a1e0
mov edx, 0x69
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43a1ce
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x69
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x69
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xd8]
dec ecx
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0xfc]
add eax, edx
mov dword [edi + 0x3c], edx
test ecx, ecx
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], edx
mov dword [edi + 0xd8], ecx
jle 0x43b2e2
push dword [edi + 0xf8]
push 0x20
push edx
call fcn.004a2ae0
add esp, 0xc
jmp case.0x43a061.16
cmp ebx, 1
jle 0x43a364
mov eax, dword [ebp - 0x354]
cmp eax, 7
je 0x43a266
cmp eax, 8
jne 0x43a343
cmp dword [ebp - 0xc], 0
je 0x43a285
mov eax, dword [ebp - 0x1b8]
dec ebx
add dword [ebp - 0x1c4], eax
mov dword [ebp - 0xc], 0
jmp 0x43a60f
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0xc]
je 0x43a293
mov eax, 1
mov ecx, dword [ebp - 0x350]
test ecx, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x38], ecx
jle 0x43a31b
mov eax, ecx
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
xor eax, eax
sar ecx, 1
test ecx, ecx
jbe 0x43b3d0
mov dword [ebp - 0x3c], edi
xor edx, edx
mov edi, dword [ebp + edx*8 - 0x1b4]
sub edi, dword [ebp + edx*8 - 0xbc]
imul edi, dword [ebp + edx*8 - 0x138]
add eax, edi
mov edi, dword [ebp + edx*8 - 0x1b0]
sub edi, dword [ebp + edx*8 - 0xb8]
imul edi, dword [ebp + edx*8 - 0x134]
inc edx
add eax, edi
cmp edx, ecx
jb 0x43a2bd
mov edi, dword [ebp - 0x3c]
lea edx, [edx + edx + 1]
lea ecx, [edx - 1]
cmp ecx, dword [ebp - 0x38]
jae 0x43a31d
mov ecx, dword [ebp + edx*4 - 0x1b8]
sub ecx, dword [ebp + edx*4 - 0xc0]
imul ecx, dword [ebp + edx*4 - 0x13c]
add eax, ecx
jmp 0x43a31d
xor eax, eax
add eax, dword [ebp - 0x34c]
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x354]
push eax
push ecx
push 0
call fcn.004636e0
add esp, 0xc
jmp 0x43a35e
mov ecx, dword [ebp - 0xc]
test ecx, ecx
mov eax, dword [ebp - 0x1b8]
je 0x43a355
mov ecx, 0
add dword [ebp - 0x1c4], eax
mov dword [ebp - 0xc], ecx
dec ebx
jmp 0x43a60f
lea eax, [ebp - 0x354]
push eax
lea edx, [ebp - 0x1c4]
push edx
lea ecx, [ebp + 0x10]
push ecx
lea ebx, [ebp + 0xc]
push ebx
call fcn.00457340
add esp, 0x10
mov ebx, eax
test ebx, ebx
jne 0x43b728
mov ecx, dword [ebp - 0x1bc]
cmp ecx, 2
je 0x43b8dd
cmp ecx, 1
je 0x43b0d2
mov eax, dword [ebp - 0x354]
cmp eax, 7
jl 0x43a598
cmp eax, 8
jg 0x43a598
mov eax, dword [ebp - 0x1b8]
test eax, eax
mov dword [ebp - 0x1d4], eax
je 0x43a3df
mov eax, dword [ebp - 0x1c0]
cdq
mov ebx, dword [ebp - 0x1d4]
idiv ebx
mov ebx, eax
jmp 0x43a3f2
test byte [edi + 0x170], 2
je 0x43a58d
mov ebx, dword [ebp - 0x1c0]
test ebx, ebx
je 0x43a58f
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x43a410
cmp ecx, 0x34
je 0x43a410
mov dword [ebp - 8], 0
jmp 0x43a41b
mov eax, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x350]
test eax, eax
mov dword [ebp - 0x358], eax
jle 0x43a562
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
test ecx, ecx
jbe 0x43b3e4
mov dword [ebp - 0x39c], esi
xor edx, edx
mov dword [ebp - 0x3c], edi
nop
lea esi, [esi]
lea eax, [edx + edx*2]
mov esi, dword [ebp + eax*8 - 0x340]
mov dword [ebp + edx*8 - 0x138], esi
mov edi, dword [ebp + eax*8 - 0x344]
mov esi, dword [ebp + eax*8 - 0x338]
mov eax, dword [ebp + eax*8 - 0x334]
mov dword [ebp + edx*8 - 0xbc], edi
mov dword [ebp + edx*8 - 0x1b4], edi
mov dword [ebp + edx*8 - 0xb8], esi
mov dword [ebp + edx*8 - 0x134], eax
mov dword [ebp + edx*8 - 0x1b0], esi
inc edx
cmp edx, ecx
jb 0x43a450
mov esi, dword [ebp - 0x39c]
lea edx, [edx + edx + 1]
mov edi, dword [ebp - 0x3c]
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x358]
jae 0x43a4e3
lea ecx, [edx*8]
lea ecx, [ecx + edx*4]
mov eax, dword [ebp + ecx - 0x350]
mov ecx, dword [ebp + ecx - 0x34c]
mov dword [ebp + edx*4 - 0xc0], eax
mov dword [ebp + edx*4 - 0x13c], ecx
mov dword [ebp + edx*4 - 0x1b8], eax
mov eax, dword [ebp - 0x358]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
xor eax, eax
sar ecx, 1
test ecx, ecx
jbe 0x43b3da
mov dword [ebp - 0x3c], edi
xor edx, edx
mov edi, dword [ebp + edx*8 - 0x1b4]
sub edi, dword [ebp + edx*8 - 0xbc]
imul edi, dword [ebp + edx*8 - 0x138]
add eax, edi
mov edi, dword [ebp + edx*8 - 0x1b0]
sub edi, dword [ebp + edx*8 - 0xb8]
imul edi, dword [ebp + edx*8 - 0x134]
inc edx
add eax, edi
cmp edx, ecx
jb 0x43a501
mov edi, dword [ebp - 0x3c]
lea edx, [edx + edx + 1]
lea ecx, [edx - 1]
cmp ecx, dword [ebp - 0x358]
jae 0x43a564
mov ecx, dword [ebp + edx*4 - 0x1b8]
sub ecx, dword [ebp + edx*4 - 0xc0]
imul ecx, dword [ebp + edx*4 - 0x13c]
add eax, ecx
jmp 0x43a564
xor eax, eax
add eax, dword [ebp - 0x34c]
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x354]
push eax
push ecx
push 0
call fcn.004636e0
add esp, 0xc
jmp 0x43a60f
xor ebx, ebx
mov dword [ebp - 4], 1
jmp 0x43a615
cmp eax, 6
je 0x43a5a2
cmp eax, 5
jne 0x43a5ef
movzx ecx, byte [edi + 0x170]
and ecx, 2
mov eax, dword [ebp - 0x1b8]
shr ecx, 1
mov ebx, dword [ebp - 0x1c0]
test eax, eax
mov dword [ebp - 0x1c8], eax
je 0x43a5d7
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x1c8]
idiv ebx
mov ebx, eax
test ecx, ecx
jne 0x43a5e2
jmp 0x43a60f
test ecx, ecx
jne 0x43a5e0
mov ebx, 0
je 0x43a60f
test ebx, ebx
jne 0x43a60f
mov dword [ebp - 4], 1
jmp 0x43a615
lea eax, [ecx - 0x1c]
cmp eax, 0x10
jbe 0x43a603
cmp ecx, 0x34
je 0x43a603
mov ebx, 1
jmp 0x43a60f
mov dword [ebp - 0xc], 1
mov ebx, 2
cmp dword [ebp - 4], 0
je 0x43a631
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x43a628
mov dword [esi + 0xc], 2
jmp case.0x43a061.16
inc eax
mov dword [esi + 0xc], eax
jmp case.0x43a061.16
mov eax, dword [esi]
and byte [esi + 0x9f], 0xf7
movsx ecx, byte [esi + 0x98]
movzx eax, byte [eax + 0x176]
test eax, 0x80
je 0x43a675
mov eax, dword [ecx*4 + 0x4b1ea0]
test eax, eax
je 0x43a675
mov edx, dword [ebp - 0x1bc]
movsx eax, byte [eax + edx]
test eax, eax
je 0x43a675
mov dword [ebp - 0x1bc], eax
movsx ecx, byte [esi + 0x98]
lea eax, [ecx - 0x13]
cmp eax, 0x20
ja case.default.0x43a681
jmp dword [eax*4 + 0x4ab880]
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x43a6d3
movzx eax, byte [esi + 0xa0]
or eax, 2
mov byte [esi + 0xa0], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1bc]
movsx edx, word [eax*2 + 0x4b1d40]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x43b3ee
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43ac8c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
movzx eax, byte [esi + 0xa0]
mov dword [ebp - 0x2c], eax
jmp 0x43ac8c
mov eax, dword [ebp - 0x1bc]
movsx edx, word [eax*2 + 0x4b1d40]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x43b418
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x43a763
movzx eax, byte [esi + 0xa0]
or eax, 2
mov byte [esi + 0xa0], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1bc]
movsx edx, byte [eax + 0x4b210d]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x43b442
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43ac8c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x43a7b5
movzx eax, byte [esi + 0xa0]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0xa0], al
cmp ecx, 0x20
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1bc]
movsx edx, byte [eax + 0x4b20fb]
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43ac8c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x43a8b9
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1bc]
lea edx, [eax - 0x19]
mov dword [ebp - 0x3a4], edx
cmp edx, 0x1b
ja 0x43a858
movzx eax, byte [esi + 0xa0]
or eax, 2
mov dword [ebp - 0x2c], eax
mov byte [esi + 0xa0], al
mov eax, edx
movsx edx, word [eax*8 + 0x4b1dc0]
movsx eax, word [esi + 0x90]
test eax, eax
mov dword [esi + 0x88], edx
jne 0x43a832
mov eax, dword [ebp - 0x3a4]
movzx eax, word [eax*8 + 0x4b1dc4]
mov word [esi + 0x90], ax
mov eax, dword [ebp - 0x3a4]
add ecx, 0xffffffd8
cmp ecx, 0x20
movzx eax, word [eax*8 + 0x4b1dc6]
mov word [esi + 0x92], ax
jb 0x43ac4e
jmp 0x43ac8c
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x43a897
movzx eax, byte [esi + 0xa0]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0xa0], al
cmp ecx, 0x20
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1bc]
movsx edx, byte [eax + 0x4b20fb]
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43ac8c
and eax, 0xfffffffe
cmp eax, 0x38
je 0x43b46c
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x43ac50
jmp 0x43ab4d
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x43a93f
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x3a0], eax
lea eax, [eax - 5]
cmp eax, 0xc
ja 0x43a917
or byte [esi + 0xa0], 2
mov eax, dword [ebp - 0x1bc]
movsx edx, byte [eax + 0x4b20fb]
mov dword [esi + 0x88], edx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x3a0], eax
jmp 0x43a94b
mov eax, dword [ebp - 0x3a0]
and eax, 0xfffffffe
cmp eax, 0x38
jne 0x43a94b
mov edx, dword [ebp - 0x1b8]
mov dword [esi + 0x88], edx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x3a0], eax
jmp 0x43a94b
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 0x19
jge case.0x43a681.30
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov edx, dword [esi + 0x88]
test edx, edx
jne 0x43a9b0
movzx eax, byte [esi + 0xa0]
add ecx, 0xffffffd8
or eax, 2
mov byte [esi + 0xa0], al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1bc]
movsx edx, word [eax*8 + 0x4b1cfa]
movsx eax, word [esi + 0x90]
add edx, eax
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43ac8c
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43ac7c
mov eax, dword [ebp - 0x1bc]
movsx edx, byte [eax + 0x4b210d]
cmp edx, 0xffffffff
mov dword [esi + 0x88], edx
je 0x43b489
add ecx, 0xffffffd8
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov eax, dword [ebp - 0x1bc]
add eax, 0xfffffffb
cmp eax, 0xc
jbe 0x43aa23
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x43ac50
jmp 0x43ab4d
add ecx, 0xffffffd8
mov edx, 2
mov dword [esi + 0x88], 2
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov edx, dword [ebp - 0x1bc]
lea eax, [edx - 5]
cmp eax, 0xc
jbe 0x43aa67
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x43ac50
jmp 0x43ab4d
add ecx, 0xffffffd8
movsx edx, byte [edx + 0x4b20fb]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43a6df
or byte [esi + 0xa1], 4
mov eax, dword [ebp - 0x1bc]
lea edx, [eax - 0x19]
cmp edx, 0x1b
ja 0x43aae5
mov eax, edx
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4b1dc0]
mov dword [ebp - 0x1d0], edx
mov dword [esi + 0x88], edx
movzx edx, word [eax*8 + 0x4b1dc4]
movzx eax, word [eax*8 + 0x4b1dc6]
mov word [esi + 0x90], dx
mov word [esi + 0x92], ax
mov edx, dword [ebp - 0x1d0]
jb 0x43ac4e
jmp 0x43a6df
lea edx, [eax - 5]
cmp edx, 0xc
ja 0x43ab0b
add ecx, 0xffffffd8
movsx edx, byte [eax + 0x4b20fb]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43a6df
and eax, 0xfffffffe
cmp eax, 0x38
je 0x43b4b3
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x43ac50
jmp 0x43ab4d
mov eax, dword [ebp - 0x1bc]
add eax, 0xffffffe7
cmp eax, 0x1b
jbe 0x43abe8
add ecx, 0xffffffd8
mov eax, 0x3d
cmp ecx, 0x20
jb 0x43ac50
mov ebx, eax
mov edx, dword [edi + 0x70]
test edx, edx
je 0x43ab8b
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov edx, dword [edi + 0x70]
mov ecx, dword [edi + 0x38]
sub ecx, edx
sub dword [edi + 0x3c], ecx
sub dword [edi + 0x44], ecx
sub dword [edi + 0x48], ecx
mov dword [edi + 0x38], edx
mov dword [edi + 0x70], 0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43b4d0
test byte [edx + 0x44], 2
je 0x43abc3
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43abb4
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx edx, byte [edi + 0x174]
push ebx
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
cmp ecx, 0x20
movsx edx, word [eax*8 + 0x4b1dc0]
mov dword [ebp - 0x1d0], edx
mov dword [esi + 0x88], edx
movzx edx, word [eax*8 + 0x4b1dc4]
movzx eax, word [eax*8 + 0x4b1dc6]
mov word [esi + 0x90], dx
mov word [esi + 0x92], ax
mov edx, dword [ebp - 0x1d0]
jb 0x43ac4e
jmp 0x43a6df
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b8]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43a6df
add ecx, 0xffffffd8
cmp ecx, 0x20
jae 0x43ac7c
xor eax, eax
mov edx, 1
shl edx, cl
test dl, 0x25
je 0x43ac74
mov edx, dword [esi + 0x90]
mov ecx, dword [esi + 0x88]
cmp edx, ecx
jge 0x43ac6e
mov edx, ecx
mov dword [esi + 0x88], edx
test eax, eax
jne 0x43ab4d
movzx eax, byte [esi + 0xa0]
mov edx, dword [esi + 0x88]
mov dword [ebp - 0x2c], eax
test byte [ebp - 0x2c], 2
je 0x43ad4b
cmp edx, 0x40
ja 0x43acad
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x398]
mov dword [ebp - 0x28], eax
jmp 0x43acca
lea eax, [ebp - 0x28]
push eax
push 0
push edx
call fcn.00457180
add esp, 0xc
test eax, eax
jne 0x43b55b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
push dword [esi + 0x88]
push 0x20
push eax
call fcn.004a2ae0
push dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1c4]
push eax
call fcn.00464040
add esp, 0x18
test eax, eax
je 0x43ad08
cmp eax, 0x3f
jne 0x43b4ea
test byte [edi + 0x177], 8
jne 0x43ad08
mov dword [esi + 0x10], 0x3f
mov edx, dword [esi + 0x88]
test edx, edx
je 0x43ad2d
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x20
jne 0x43ad4b
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi + 0x88]
dec edx
mov dword [esi + 0x88], edx
jne 0x43ad12
movsx eax, word [esi + 0x90]
test eax, eax
jne 0x43ad4b
mov dword [esi + 0x88], 1
dec dword [ebp - 0x28]
mov edx, dword [esi + 0x88]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x30], eax
lea ecx, [edx + eax]
cmp ecx, dword [edi + 0x44]
ja 0x43b667
movzx eax, byte [esi + 0xa0]
test al, 2
je 0x43ade5
test edx, edx
je 0x43adb8
mov ecx, dword [ebp - 0x28]
movzx eax, byte [ecx]
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x88]
dec eax
je 0x43b5cc
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [eax]
cmp eax, 0x20
je 0x43b5cc
mov ecx, dword [edi + 0x3c]
mov byte [ecx], al
inc dword [edi + 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [esi + 0x88]
dec eax
jne 0x43ad8a
jmp 0x43b5cc
and eax, 0xfffffffd
mov byte [esi + 0xa0], al
mov dword [esi + 0x88], 0
cmp dword [ebp - 0x10], 0
je case.0x43a061.16
push dword [ebp - 0x10]
call fcn.00457240
add esp, 4
jmp case.0x43a061.16
push dword [ebp - 0x30]
push esi
lea eax, [ebp - 0x1c4]
push eax
call fcn.00464040
add esp, 0xc
test eax, eax
jne 0x43b5d8
mov eax, dword [esi + 0x88]
add dword [edi + 0x3c], eax
jmp case.0x43a061.16
mov edx, dword [edi + 0x70]
mov ebx, eax
test edx, edx
je 0x43ae4c
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov edx, dword [edi + 0x70]
mov ecx, dword [edi + 0x38]
sub ecx, edx
sub dword [edi + 0x3c], ecx
sub dword [edi + 0x44], ecx
sub dword [edi + 0x48], ecx
mov dword [edi + 0x38], edx
mov dword [edi + 0x70], 0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43aea5
test byte [edx + 0x44], 2
je 0x43ae80
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43ae71
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx edx, byte [edi + 0x174]
push ebx
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push ebx
push ebx
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xc], 0
jne 0x439fbb
cmp ebx, 1
jg 0x439fbb
or eax, 0x40
mov byte [esi + 0x9f], al
jmp 0x439fc4
cmp dword [ebp - 0xc], 0
jne 0x439faf
cmp ebx, 1
jg 0x439faf
or eax, 0x20
jmp 0x439fbb
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x43af06
inc eax
mov dword [esi + 0xc], eax
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x1cc], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x40]
movzx eax, byte [ecx + ebx]
inc ecx
mov byte [edx], al
mov edx, dword [edi + 0x3c]
inc edx
mov dword [edi + 0x3c], edx
cmp ecx, dword [esi + 0x88]
jl 0x43af20
mov ebx, dword [ebp - 0x1cc]
jmp 0x43a08e
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43af7d
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43afe3
test byte [eax + 0x44], 2
je 0x43afb9
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43afa7
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43b03e
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b0a4
test byte [eax + 0x44], 2
je 0x43b07a
mov edx, 0x1b
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43b068
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x1b
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x1b
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x1b
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
cmp eax, 1
jne 0x43b227
mov ebx, dword [ebp - 0x20]
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43b111
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
movzx eax, byte [esi + 0x9f]
test al, 2
je 0x43b18f
push dword [esi + 4]
and eax, 0xfffffffd
mov byte [esi + 0x9f], al
call fcn.00457240
add esp, 4
test eax, eax
je 0x43b18f
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43b266
test byte [edx + 0x44], 2
je 0x43b16a
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43b15d
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x10]
test edx, edx
je 0x43b1f7
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b280
test byte [eax + 0x44], 2
je 0x43b1d2
mov dword [eax + 0x38], edx
mov edx, dword [edi + 0x18]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x3c], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43b1c2
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edx
movzx eax, byte [edi + 0x174]
push edx
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push dword [edi + 0x100]
and byte [edi + 0x174], 0xdc
and byte [edi + 0x176], 0xf7
call fcn.00457680
add esp, 4
mov dword [ebx + 4], 0
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x43b242
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
push ecx
call fcn.004572a0
add esp, 0xc
cmp eax, 2
je 0x43b22c
cmp eax, 1
jne case.0x43a061.16
jmp 0x43b0d2
push edi
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push edx
push edx
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x69
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp byte [eax], 2
jne 0x43b0d5
cmp edx, 2
jge 0x43b0d5
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
leave
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43b31e
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b384
test byte [eax + 0x44], 2
je 0x43b35a
mov edx, 0x1b
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43b348
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x1b
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x1b
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x1b
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jge 0x43a20a
xor eax, eax
mov dword [esi + 0xc], 2
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp ebx, 2
jl 0x43b0d2
jmp 0x43a20a
mov edx, 1
jmp 0x43a2f9
mov edx, 1
jmp 0x43a53d
mov edx, 1
jmp 0x43a4ab
mov edx, dword [ebp - 0x1b8]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x43b404
mov edx, 0x11
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43ac8c
mov edx, dword [ebp - 0x1b8]
add ecx, 0xffffffd8
shl edx, 3
cmp edx, 0x11
jge 0x43b42e
mov edx, 0x11
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
mov eax, dword [ebp - 0x1b8]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x43b458
mov edx, 7
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43ac8c
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b8]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43a6df
mov eax, dword [ebp - 0x1b8]
add ecx, 0xffffffd8
lea edx, [eax + eax*2]
cmp edx, 7
jge 0x43b49f
mov edx, 7
mov dword [esi + 0x88], edx
cmp ecx, 0x20
jb 0x43ac4e
jmp 0x43a6df
add ecx, 0xffffffd8
mov edx, dword [ebp - 0x1b8]
cmp ecx, 0x20
mov dword [esi + 0x88], edx
jb 0x43ac4e
jmp 0x43a6df
push edi
push ebx
push ebx
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43b541
test byte [edx + 0x44], 2
je 0x43b51c
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43b50f
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43b5b2
test byte [edx + 0x44], 2
je 0x43b58d
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43b580
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0xa0]
jmp 0x43adb8
cmp eax, 0x3f
jne 0x43b5f6
test byte [edi + 0x177], 8
jne 0x43ae00
mov dword [esi + 0x10], 0x3f
jmp 0x43ae00
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43b64d
test byte [edx + 0x44], 2
je 0x43b628
mov dword [edx + 0x38], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43b61b
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43b6a3
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b709
test byte [eax + 0x44], 2
je 0x43b6df
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], edx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43b6cd
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, 0x42
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, 0x42
push eax
movzx edx, byte [edi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x70]
test eax, eax
je 0x43b764
push dword [edi + 0x8c]
push dword [edi + 0x38]
push eax
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x38]
sub edx, eax
sub dword [edi + 0x3c], edx
sub dword [edi + 0x44], edx
sub dword [edi + 0x48], edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x70], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b7bd
test byte [eax + 0x44], 2
je 0x43b798
mov dword [eax + 0x38], ebx
mov eax, dword [edi + 0x18]
mov dword [eax + 0x3c], ebx
mov edx, dword [edi + 0x64]
test edx, edx
je 0x43b789
xor eax, eax
mov dword [edx + 4], eax
mov dword [edi + 0x64], eax
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx eax, byte [edi + 0x174]
push ebx
and eax, 7
push eax
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push ebx
push ebx
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x70]
mov ebx, eax
test edx, edx
je 0x43b815
push dword [edi + 0x8c]
push dword [edi + 0x38]
push edx
call fcn.004a2c20
push dword [edi + 0x38]
call fcn.00457240
add esp, 0x10
mov edx, dword [edi + 0x70]
mov ecx, dword [edi + 0x38]
sub ecx, edx
sub dword [edi + 0x3c], ecx
sub dword [edi + 0x44], ecx
sub dword [edi + 0x48], ecx
mov dword [edi + 0x38], edx
mov dword [edi + 0x70], 0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x43b86e
test byte [edx + 0x44], 2
je 0x43b849
mov dword [edx + 0x38], ebx
mov edx, dword [edi + 0x18]
mov dword [edx + 0x3c], ebx
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x43b83a
xor edx, edx
mov dword [ecx + 4], edx
mov dword [edi + 0x64], edx
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push ebx
movzx edx, byte [edi + 0x174]
push ebx
and edx, 7
push edx
push 0xffffffffffffffff
push edi
call fcn.0045adb0
add esp, 0x14
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
push edi
push ebx
push ebx
push 1
call fcn.00453e60
add esp, 0x10
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xc], 0
jne 0x43a021
cmp ebx, 1
jg 0x43a021
or eax, 0x40
mov byte [esi + 0x9f], al
jmp 0x43a02a
cmp dword [ebp - 0xc], 0
jne 0x43a00e
cmp ebx, 1
jg 0x43a00e
movzx eax, byte [esi + 0x9f]
or eax, 0x20
jmp 0x43a021
xor eax, eax
mov dword [esi + 0xc], ecx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xc]
test edx, edx
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
lea ecx, [edx + 1]
jne 0x43b8f2
mov ecx, 2
xor eax, eax
mov dword [esi + 0xc], ecx
mov esi, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret