Function at 0x43c069
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov edx, dword [ebp + 0xc]
mov ecx, dword [0x4df124]
mov eax, dword [0x4df120]
mov edx, dword [edx]
mov dword [ebp - 0x14], ecx
movzx ecx, cl
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], eax
test byte [edx + 0x171], 1
je 0x43bb06
or ecx, 2
jmp 0x43bb0a
movzx ecx, byte [ebp - 0x14]
mov eax, ecx
or eax, 4
cmp byte [edx + 0x169], 2
mov edi, dword [ebp + 0xc]
je 0x43bb1d
mov eax, ecx
movzx ecx, byte [edi + 0xa0]
and eax, 0xfffffff7
movzx ebx, byte [edi + 0xa1]
mov esi, ebx
mov dword [ebp - 0x20], ecx
and esi, 4
shr ecx, 1
and ecx, 1
shr esi, 2
shl ecx, 3
movzx edi, byte [edi + 0x9f]
or eax, ecx
and edi, 8
mov ecx, esi
shr edi, 3
and eax, 0xffffffef
shl ecx, 4
or eax, ecx
mov ecx, edi
shl ecx, 5
and eax, 0xffffffdf
or eax, ecx
mov ecx, dword [ebp - 0x20]
test bl, 1
je 0x43bb71
or eax, 4
jmp 0x43bb85
mov dword [ebp - 0x20], edi
and ebx, 2
mov edi, eax
and edi, 0xfffffffb
test ebx, ebx
je 0x43bb82
mov eax, edi
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp + 0xc]
movsx ebx, byte [ebx + 0x98]
mov dword [ebp - 0x20], ebx
lea ebx, [ebx - 0xf]
cmp ebx, 0x24
ja case.0x43bba8.16
mov byte [ebp - 0x14], al
mov dword [ebp - 0x18], 4
jmp dword [ebx*4 + 0x4df140]
mov edx, 0x40
jmp 0x43bbb8
xor edx, edx
or edx, 0x400
jmp 0x43c693
mov edx, 0x40
jmp 0x43bbcc
xor edx, edx
or edx, 0x200
jmp 0x43c693
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, 0xfffffffb
cmp eax, 0x33
ja case.0x43bbe9.13
jmp dword [eax*4 + 0x4df1e0]
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 2
push dword [ecx + 0xc]
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 2
push 0x10
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 2
push 8
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 2
push 8
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044dad0
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 2
push 4
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov edx, 2
push dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
movsx eax, word [ecx + 0x90]
push eax
push edx
push edx
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 2
push 1
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movsx edx, word [ecx + 0x90]
push edx
mov ebx, dword [eax]
push 2
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044e080
add esp, 0x14
mov edx, eax
jmp 0x43c776
xor edi, edi
jmp 0x43c2ba
xor edi, edi
jmp 0x43c0a4
mov edx, 0x40
jmp 0x43c689
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, 0xfffffffb
cmp eax, 0x33
ja case.0x43bd7e.13
jmp dword [eax*4 + 0x4df2c0]
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 0x10
push dword [ecx + 0xc]
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov edx, 0x10
push dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
movsx eax, word [ecx + 0x90]
push eax
push edx
push edx
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 0x10
push 8
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 0x10
push 8
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044dad0
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 0x10
push 4
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 0x10
push 2
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 0x10
push 1
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movsx edx, word [ecx + 0x90]
push edx
mov ebx, dword [eax]
push 0x10
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044e080
add esp, 0x14
mov edx, eax
jmp 0x43c776
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, 0xfffffffb
cmp eax, 0x33
ja case.0x43befb.13
jmp dword [eax*4 + 0x4df3a0]
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 8
push dword [ecx + 0xc]
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 8
push 0x10
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov edx, 8
push dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
movsx eax, word [ecx + 0x90]
push eax
push edx
push edx
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov edx, 8
push dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
movsx eax, word [ecx + 0x90]
push eax
push edx
push edx
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044dad0
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 8
push 4
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 8
push 2
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsx eax, word [edx + 0x90]
push eax
push 8
push 1
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044d710
add esp, 0x18
mov edx, eax
jmp 0x43c776
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movsx edx, word [ecx + 0x90]
push edx
mov ebx, dword [eax]
push 8
push dword [ecx + 0x88]
push dword [ebx]
call fcn.0044e080
add esp, 0x14
mov edx, eax
jmp 0x43c776
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x1c], ebx
lea ebx, [ebx - 5]
cmp ebx, 7
ja 0x43c285
mov edx, dword [ebp + 0xc]
mov edi, 1
xor eax, eax
movzx esi, word [edx + 0x90]
movzx ebx, word [edx + 0x92]
mov word [edx + 0x90], di
mov word [edx + 0x92], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, 0xfffffffb
cmp eax, 0xc
ja case.0x43c6fa.31
jmp dword [eax*4 + 0x4df4b4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movsx edx, word [ecx + 0x90]
push edx
mov eax, dword [eax]
push 0xa
push dword [ecx + 0x88]
push dword [eax + 4]
push dword [eax]
call fcn.0044e4c0
add esp, 0x18
mov edx, eax
jmp 0x43c778
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movzx edx, byte [ebx + 0x9c]
and edx, 4
shl edx, 2
push edx
mov eax, dword [eax]
movsx ecx, word [ebx + 0x90]
push ecx
push dword [ebx + 0x88]
push dword [eax + 4]
push dword [eax]
mov ebx, dword [ebp - 0x20]
call fcn.0044e270
add esp, 0x18
mov edx, eax
jmp 0x43c778
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movsx edx, word [ecx + 0x90]
push edx
mov eax, dword [eax]
push 0xa
push dword [ecx + 0x88]
push dword [eax]
call fcn.0044e080
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
movzx edx, byte [ebx + 0x9c]
and edx, 4
shl edx, 2
push edx
mov eax, dword [eax]
movsx ecx, word [ebx + 0x90]
push ecx
push dword [ebx + 0x88]
push dword [eax]
mov ebx, dword [ebp - 0x20]
call fcn.0044de90
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
movzx edx, word [edx]
movsx ecx, word [eax + 0x90]
push ecx
push 0xa
push dword [eax + 0x88]
push edx
call fcn.0044e080
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], ebx
push dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
movsx edx, word [edx]
movzx ecx, byte [eax + 0x9c]
and ecx, 4
shl ecx, 2
push ecx
movsx ebx, word [eax + 0x90]
push ebx
push dword [eax + 0x88]
push edx
mov ebx, dword [ebp - 0x20]
call fcn.0044de90
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
movzx edx, byte [edx]
movsx ecx, word [eax + 0x90]
push ecx
push 0xa
push dword [eax + 0x88]
push edx
call fcn.0044e080
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], ebx
push dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
movsx edx, byte [edx]
movzx ecx, byte [eax + 0x9c]
and ecx, 4
shl ecx, 2
push ecx
movsx ebx, word [eax + 0x90]
push ebx
push dword [eax + 0x88]
push edx
mov ebx, dword [ebp - 0x20]
call fcn.0044de90
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov eax, 0x3d
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x1c]
lea ebx, [ebx - 0xd]
cmp ebx, 4
ja 0x43c393
mov ecx, dword [ebp + 0xc]
xor edi, edi
movzx esi, word [ecx + 0x90]
movzx ebx, word [ecx + 0x92]
mov word [ecx + 0x90], di
mov word [ecx + 0x92], di
mov edi, 1
test byte [edx + 0x170], 0x10
je 0x43c2c9
or eax, 1
mov byte [ebp - 0x14], al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, 0xfffffffb
cmp eax, 0xc
ja case.0x43c6fa.31
jmp dword [eax*4 + 0x4df480]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
push 0x4000000
mov ecx, dword [eax]
push dword [edx + 0x88]
push dword [ecx + 4]
push dword [ecx]
call fcn.0044ec00
add esp, 0x14
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push 0x4000000
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax]
push dword [edx + 0x88]
push dword [ecx]
call fcn.0044e980
add esp, 0x18
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push 0x4000000
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax]
push dword [ecx + 0x88]
movsx eax, word [edx]
push eax
call fcn.0044e980
add esp, 0x18
mov edx, eax
jmp 0x43c778
mov eax, dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push 0x4000000
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax]
push dword [ecx + 0x88]
movsx eax, byte [edx]
push eax
call fcn.0044e980
add esp, 0x18
mov edx, eax
jmp 0x43c778
mov ebx, dword [ebp - 0x1c]
lea ebx, [ebx - 0x38]
cmp ebx, 1
ja 0x43c3c9
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov edi, 1
movzx esi, word [ecx + 0x90]
movzx ebx, word [ecx + 0x92]
mov word [ecx + 0x90], ax
mov word [ecx + 0x92], ax
jmp 0x43c7a1
cmp dword [ebp - 0x20], 0x23
je 0x43c85a
xor esi, esi
movzx ebx, byte [edx + 0x170]
test bl, 2
mov dword [ebp - 0x20], ebx
je 0x43c3f0
test edi, edi
jne 0x43c3f4
or esi, 0x100000
jmp 0x43c40d
test edi, edi
je 0x43c40d
mov ebx, esi
movzx edx, byte [edx + 0x17b]
or ebx, 0x4000
test edx, 0x80
je 0x43c40d
mov esi, ebx
test byte [ebp - 0x20], 0x40
je 0x43c419
or eax, 1
mov byte [ebp - 0x14], al
mov ebx, dword [ebp + 0xc]
mov eax, esi
or eax, 0x10
test byte [ebx + 0x9c], 4
jne 0x43c42c
mov eax, esi
or eax, 0x80000000
mov esi, ecx
mov edi, eax
and esi, 8
or edi, 0x1000000
test cl, 4
jne 0x43c445
mov edi, eax
shl esi, 0x14
mov eax, 0x800000
or edi, esi
mov edx, edi
or edx, 0x400000
test cl, 0x10
jne 0x43c45e
mov edx, edi
and ecx, 0x40
shr ecx, 5
shl eax, cl
add eax, 0xff800000
or edx, eax
mov eax, edx
or eax, 0x100
test byte [ebx + 0x9c], 0x40
jne 0x43c47f
mov eax, edx
mov edx, dword [ebp - 0x1c]
add edx, 0xffffffe6
mov dword [ebp - 0x1c], edx
cmp edx, 0x1a
ja case.0x43c6fa.31
jmp dword [edx*4 + 0x4df500]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x92]
push edx
push dword [esi + 0x88]
movsx ecx, word [esi + 0x90]
push ecx
movsx ebx, byte [esi + 0x94]
push ebx
push dword [esi + 0x88]
push dword [eax]
call fcn.0044eeb0
jmp 0x43c771
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x92]
push edx
push dword [esi + 0x88]
movsx ecx, word [esi + 0x90]
push ecx
movsx ebx, byte [esi + 0x94]
push ebx
push dword [esi + 0x88]
push dword [eax]
call fcn.00450720
jmp 0x43c771
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x92]
push edx
push dword [esi + 0x88]
movsx ecx, word [esi + 0x90]
push ecx
movsx ebx, byte [esi + 0x94]
push ebx
push dword [esi + 0x88]
push dword [eax]
call fcn.00451ef0
jmp 0x43c771
mov eax, dword [ebp + 0xc]
movzx ebx, byte [eax + 0x9c]
mov esi, ebx
and esi, 4
mov eax, ecx
and eax, 8
shl eax, 0x14
lea edi, [esi*4 + 2]
or edi, 0x80000000
mov esi, edi
or esi, 0x1000000
test cl, 4
jne 0x43c58b
mov esi, edi
or esi, eax
mov eax, 0x800000
mov edx, esi
or edx, 0x400000
test cl, 0x10
jne 0x43c5a1
mov edx, esi
and ecx, 0x40
shr ecx, 5
shl eax, cl
add eax, 0xff800000
or edx, eax
mov eax, edx
or eax, 0x100
test bl, 0x40
jne 0x43c5be
mov eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
add edx, 0xffffffe6
cmp edx, 0x1a
ja case.0x43c6fa.31
jmp dword [edx*4 + 0x4df580]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x92]
push edx
push 0
movsx ecx, word [esi + 0x90]
push ecx
movsx ebx, byte [esi + 0x94]
push ebx
push dword [esi + 0x88]
push dword [eax]
call fcn.0044eeb0
jmp 0x43c771
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov ebx, dword [ebp + 0xc]
push 0
mov eax, dword [ebp + 8]
push dword [ebx + 0x88]
movsx edx, word [ebx + 0x90]
push edx
movsx ecx, byte [ebx + 0x94]
push ecx
push dword [ebx + 0x88]
push dword [eax]
call fcn.00450720
jmp 0x43c771
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov ebx, dword [ebp + 0xc]
push 0
mov eax, dword [ebp + 8]
push dword [ebx + 0x88]
movsx edx, word [ebx + 0x90]
push edx
movsx ecx, byte [ebx + 0x94]
push ecx
push dword [ebx + 0x88]
push dword [eax]
call fcn.00451ef0
jmp 0x43c771
xor edx, edx
or edx, 1
jmp 0x43c693
mov edx, 5
mov eax, dword [ebp + 0xc]
mov ebx, edx
or ebx, 0x10
mov edi, 0x800000
test byte [eax + 0x9c], 4
jne 0x43c6ab
mov ebx, edx
or ebx, 0x80000000
mov edx, ecx
mov esi, ebx
and edx, 8
or esi, 0x1000000
test cl, 4
jne 0x43c6c5
mov esi, ebx
shl edx, 0x14
or esi, edx
mov eax, esi
or eax, 0x400000
test cl, 0x10
mov edx, dword [ebp + 8]
jne 0x43c6db
mov eax, esi
and ecx, 0x40
shr ecx, 5
shl edi, cl
mov edx, dword [edx + 8]
add edi, 0xff800000
add edx, 0xffffffe6
or eax, edi
cmp edx, 0x1a
ja case.0x43c6fa.31
jmp dword [edx*4 + 0x4df600]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x92]
push edx
push 0
movsx ecx, word [esi + 0x90]
push ecx
movsx ebx, byte [esi + 0x94]
push ebx
push dword [esi + 0x88]
push dword [eax]
call fcn.00450720
jmp 0x43c771
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x92]
push edx
push 0
movsx ecx, word [esi + 0x90]
push ecx
movsx ebx, byte [esi + 0x94]
push ebx
push dword [esi + 0x88]
push dword [eax]
call fcn.00451ef0
add esp, 0x28
mov edx, eax
xor edi, edi
test edx, edx
je 0x43c815
cmp edx, 0xa
je 0x43c815
cmp edx, 0xc
je 0x43c815
xor eax, eax
cmp edx, 8
sete al
add eax, 0x3f
jmp 0x43c817
xor edi, edi
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x88]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [eax + 0xc]
sub ecx, edx
mov dword [ebp - 0x14], edx
xor eax, eax
test ecx, ecx
jle 0x43c7f5
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov byte [eax + ebx], 0x20
inc eax
mov edi, dword [ecx + 0x88]
mov esi, edi
mov ebx, dword [edx + 0xc]
sub esi, ebx
cmp eax, esi
jl 0x43c7cd
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
add eax, edx
mov edx, dword [ebp - 0x10]
cmp edx, ecx
jl 0x43c806
mov edx, ecx
mov ecx, dword [ebp + 8]
push edx
push dword [ecx]
push eax
call fcn.004bfac0
add esp, 0xc
xor eax, eax
test edi, edi
je 0x43c82c
mov edx, dword [ebp + 0xc]
mov word [edx + 0x90], si
mov word [edx + 0x92], bx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, 0x30
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
test esi, esi
mov esi, 0x40
je 0x43c3d5
mov esi, 0
jmp 0x43c3d5