Function at 0x426d97
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x28]
push ebp
push esi
mov esi, dword [esp + 0x24]
mov eax, dword [ebx]
push edi
mov edi, dword [esp + 0x3c]
mov dword [ebx], 0
mov dword [esp + 0x14], eax
mov dword [edi], 0
mov ecx, dword [esi + 0x78]
cmp ecx, 8
je 0x4270cc
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x18], 5
mov edx, dword [esi + 0x24]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
cmp ecx, 9
je 0x42710a
cmp edx, eax
jne 0x426d60
cmp dword [esp + 0x38], 0
je 0x4270dc
cmp ecx, 6
je 0x426ec2
cmp ecx, 7
je 0x426ec2
mov eax, dword [ebx]
cmp eax, dword [esp + 0x14]
je 0x4270f0
inc eax
mov dword [ebx], eax
mov ecx, dword [esi + 0x78]
mov al, byte [ebp]
cmp ecx, 5
ja case.default.0x426d90
jmp dword [ecx*4 + 0x427118]
mov byte [esi + 0x7c], al
test al, al
jne 0x426dac
mov eax, 8
inc ebp
mov dword [esi + 0x78], eax
jmp 0x4270c0
js 0x426dcb
and al, 0x7f
cmp al, 2
ja case.default.0x426d90
xor eax, eax
inc ebp
mov dword [esi + 0x74], eax
mov eax, 1
mov dword [esi + 0x78], eax
jmp 0x4270c0
movzx eax, al
and eax, 0x1f
shl eax, 0x10
inc ebp
mov dword [esi + 0x74], eax
mov eax, 1
mov dword [esi + 0x78], eax
jmp 0x4270c0
movzx eax, al
shl eax, 8
or dword [esi + 0x74], eax
mov eax, 2
mov dword [esi + 0x78], eax
inc ebp
jmp 0x4270c0
movzx eax, al
or eax, dword [esi + 0x74]
inc eax
mov dword [esi + 0x74], eax
movsx eax, byte [esi + 0x7c]
sar eax, 7
and eax, 0xfffffffd
add eax, 6
inc ebp
mov dword [esi + 0x78], eax
jmp 0x4270c0
movzx eax, al
shl eax, 8
inc ebp
mov dword [esi + 0x70], eax
mov eax, 4
mov dword [esi + 0x78], eax
jmp 0x4270c0
movzx eax, al
or eax, dword [esi + 0x70]
inc eax
mov dword [esi + 0x70], eax
mov al, byte [esi + 0x7c]
and al, 0x60
cmp al, 0x40
jb 0x426e54
mov eax, 5
inc ebp
mov dword [esi + 0x78], eax
jmp 0x4270c0
cmp dword [esi + 0x88], 0
mov eax, 6
mov ecx, 9
cmovne eax, ecx
inc ebp
mov dword [esi + 0x78], eax
jmp 0x4270c0
cmp al, 0xe1
jae case.default.0x426d90
movzx eax, al
xor edx, edx
mov ecx, 9
div ecx
mov ecx, edx
movzx eax, al
xor edx, edx
div dword [esp + 0x18]
mov dword [esi + 8], eax
lea eax, [edx + ecx]
cmp eax, 4
jg case.default.0x426d90
mov eax, 6
mov dword [esi], ecx
mov dword [esi + 4], edx
inc ebp
mov dword [esi + 0x88], 0
mov dword [esi + 0x78], eax
jmp 0x4270c0
mov eax, 9
inc ebp
mov dword [esi + 0x78], eax
jmp 0x4270c0
mov edi, dword [esp + 0x14]
sub eax, edx
mov edx, dword [ebx]
sub edi, edx
mov ebx, dword [esi + 0x74]
cmp eax, ebx
mov dword [esp + 0x28], edx
sbb edx, edx
mov dword [esp + 0x10], edi
inc edx
cmp ebx, eax
mov dword [esp + 0x1c], edx
mov dl, byte [esi + 0x7c]
cmova ebx, eax
test dl, dl
js 0x426fac
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x28], eax
je 0x4270ec
cmp ecx, 6
jne 0x426f4a
xor eax, eax
cmp dl, 1
sete al
jne 0x426f23
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 1
jmp 0x426f30
cmp dword [esi + 0x80], 0
jne 0x42710a
push 0
push eax
push esi
mov dword [esi + 0x80], 0
call fcn.004265c0
mov edi, dword [esp + 0x1c]
add esp, 0xc
cmp edi, ebx
cmova edi, ebx
mov dword [esp + 0x10], edi
test edi, edi
je 0x42710a
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0x24]
push edi
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add dword [esi + 0x24], edi
add esp, 0xc
cmp dword [esi + 0x30], 0
jne 0x426f84
mov ecx, dword [esi + 0xc]
mov eax, ecx
sub eax, dword [esi + 0x2c]
cmp eax, edi
ja 0x426f84
mov dword [esi + 0x30], ecx
add dword [esi + 0x2c], edi
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
add ebp, eax
mov edi, dword [esp + 0x3c]
add dword [ebx], eax
sub dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
neg eax
sbb eax, eax
and eax, 7
mov dword [esi + 0x78], eax
jmp 0x4270c0
cmp ecx, 6
jne 0x427023
movzx ecx, dl
xor edx, edx
mov eax, ecx
mov byte [esp + 0x28], 0
and eax, 0x60
cmp al, 0x60
mov eax, ecx
sete dl
and al, 0x60
cmp byte [esp + 0x28], al
mov eax, ecx
sbb edi, edi
and eax, 0x60
neg edi
cmp al, 0x60
je 0x426ff9
cmp dword [esi + 0x80], 0
jne 0x42710a
test cl, 0x60
ja 0x426ff9
cmp dword [esi + 0x84], 0
jne 0x42710a
push edi
push edx
push esi
call fcn.004265c0
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x78], 7
cmp edi, dword [esi + 0x70]
lea eax, [esp + 0x10]
push dword [esp + 0x3c]
cmova edi, dword [esi + 0x70]
push dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x28]
push eax
push ebp
lea eax, [ebx + edi]
push eax
push esi
call fcn.00426270
mov ebx, dword [esp + 0x4c]
mov ecx, eax
mov edx, dword [esp + 0x28]
add esp, 0x18
add ebp, edx
add dword [ebx], edx
mov eax, dword [esi + 0x70]
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x24]
sub eax, edi
mov edi, dword [esi + 0x74]
sub edi, eax
mov dword [esp + 0x28], eax
mov dword [esi + 0x74], edi
test ecx, ecx
jne 0x427100
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
cmp eax, 3
je 0x4270d2
mov ecx, eax
test edx, edx
jne 0x4270b1
cmp dword [esp + 0x28], edx
jne 0x4270b1
cmp eax, 4
jne 0x42710a
test edi, edi
jne 0x42710a
cmp dword [esp + 0x20], edi
jne 0x42710a
mov dword [esi + 0x78], edi
mov edi, dword [esp + 0x3c]
mov ecx, dword [edi]
jmp 0x4270b5
mov edi, dword [esp + 0x3c]
cmp ecx, 4
jne 0x4270c0
mov dword [edi], 2
mov ecx, dword [esi + 0x78]
cmp ecx, 8
jne 0x426d3d
mov dword [edi], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
mov dword [edi], 2
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov edi, dword [esp + 0x3c]
mov dword [edi], 3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret