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

Disassembly:
sub esp, 0x8c
mov eax, dword [0x6753165c]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
mov ebx, dword [esp + 0x94]
push ebp
push esi
mov esi, dword [esp + 0xa0]
mov edx, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x34]
sub dword [esp + 0xa4], esi
push edi
lea edi, [esp + 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
push edi
push dword [edx + esi*4]
mov dword [esp + 0x3c], ebx
push ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], edx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebx + 0x10], 4
jne 0x670885b4
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
neg ecx
cmp ecx, eax
cmovg eax, ecx
mov dword [esp + 0x8c], eax
mov ecx, dword [ebx + 0x18]
push 0
push ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
pop ecx
pop ecx
cdq
push 0xa
pop ecx
idiv ecx
mov ecx, 0x100
cmp eax, ecx
mov dword [esp + 0x24], eax
cmovle ecx, eax
add eax, 0xffffff00
cdq
and edx, 3
add eax, edx
sar eax, 2
lea edi, [eax + 0x40]
add edi, ecx
cmp dword [esp + 0xa8], 2
mov ebp, edi
mov dword [esp + 0x1c], ebp
jne 0x670886c3
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + esi*2 + 3]
cmp al, 0xe8
je 0x6708861a
cmp al, 0xe4
je 0x6708861a
mov dword [esp + 0x1c], ebp
cmp al, 0xe6
jne 0x670886c3
mov al, byte [ecx + esi*2 + 5]
cmp al, 0x17
je 0x67088658
cmp al, 0x18
je 0x67088658
cmp al, 0x19
je 0x67088658
cmp al, 0x1b
je 0x67088658
cmp al, 0x1c
je 0x67088658
cmp al, 0x1e
je 0x67088658
cmp al, 0x1f
je 0x67088658
cmp al, 0x21
je 0x67088658
cmp al, 0x22
je 0x67088658
cmp al, 0x23
je 0x67088658
cmp al, 0x24
je 0x67088658
cmp al, 0x6b
je 0x67088658
mov ebp, edi
mov dword [esp + 0x1c], ebp
cmp al, 0x7a
jne 0x670886c3
mov eax, dword [ebx + 0x18]
lea edx, [esp + 0x68]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax]
push dword [edx + ebp*4 + 4]
push eax
call dword [ecx + 0x10]
mov eax, dword [ebx + 0x18]
lea edx, [esp + 0x74]
add esi, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
push dword [edx + ebp*4 + 8]
push eax
call dword [ecx + 0x10]
add esi, dword [esp + 0x8c]
add esp, 0x18
imul eax, dword [esp + 0x24], 0xa
mov ebp, edi
mov dword [esp + 0x1c], ebp
lea ecx, [esi + edi*2]
cmp ecx, eax
jle 0x670886bf
sub eax, esi
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x20]
mov al, byte [ebx + 0x14]
and al, 1
mov byte [esp + 0x1a], 0
push 0x18
mov byte [esp + 0x1f], al
lea eax, [esp + 0x3c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xor eax, eax
add esp, 0xc
inc eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0xa8], eax
jl 0x67088980
lea edx, [esi*4 + 4]
lea esi, [esi*2 + 3]
mov dword [esp + 0x24], edx
add esi, dword [esp + 0x14]
mov dword [esp + 0x30], esi
mov eax, dword [ebx + 0x18]
lea edi, [esp + 0x50]
mov ebx, dword [esp + 0x28]
push edi
mov ecx, dword [eax]
push dword [edx + ebx]
push eax
call dword [ecx + 0x10]
mov dl, byte [esi]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x14], ecx
mov byte [esp + 0x13], dl
mov ebx, ebp
cmp dl, 0xc8
jae 0x670887c8
lea eax, [edx - 0x1b]
cmp al, 9
ja 0x6708874e
cmp ebp, 3
jge 0x6708874e
lea ebx, [ebp + 1]
cmp dl, 0xa
jb 0x67088758
cmp dl, 0x12
jbe 0x670887c2
cmp dl, 0x14
je 0x670887c2
cmp dl, 0x16
je 0x670887c2
cmp dl, 0x1d
je 0x670887c2
cmp dl, 0x20
je 0x670887c2
cmp dl, 0x17
je 0x670887be
cmp dl, 0x1b
je 0x670887be
cmp dl, 0x1c
je 0x670887be
cmp dl, 0x1e
je 0x670887be
cmp dl, 0x1f
je 0x670887be
cmp dl, 0x21
jb 0x6708878f
cmp dl, 0x24
jbe 0x670887be
cmp dl, 9
je 0x670887ba
cmp dl, 0x67
je 0x670887ba
cmp dl, 0x76
je 0x670887ba
cmp dl, 0x18
je 0x670887b6
cmp dl, 0x6b
je 0x670887b6
cmp dl, 0x7a
je 0x670887b6
cmp dl, 0x19
jne 0x670887c8
mov dl, 0xe4
jmp 0x670887c4
mov dl, 0xe8
jmp 0x670887c4
mov dl, 0xde
jmp 0x670887c4
mov dl, 0xe6
jmp 0x670887c4
mov dl, 0xdc
mov byte [esp + 0x13], dl
cmp dl, byte [esp + 0x1a]
je 0x670887e2
push 6
pop ecx
lea esi, [esp + 0x80]
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
xor ebp, ebp
mov edi, dword [esp + 0x50]
movzx eax, dl
add eax, 0xffffff38
cmp eax, 0x22
ja case.0x67088804.201
movzx eax, byte [eax + 0x670889d8]
jmp dword [eax*4 + 0x6708899c]
mov ecx, ebx
mov ebp, dword [esp + 0x38]
sub ebp, edi
mov eax, dword [esp + 0x44]
sub eax, esi
add eax, dword [esp + 0x3c]
jmp 0x67088898
mov ecx, ebx
mov eax, dword [esp + 0x44]
sub eax, esi
add eax, dword [esp + 0x3c]
add ecx, eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x58]
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
sub ebp, edi
add ebp, dword [esp + 0x38]
jmp 0x6708889a
mov ecx, ebx
mov ebp, dword [esp + 0x40]
sub ebp, dword [esp + 0x58]
sub ebp, edi
add ebp, dword [esp + 0x38]
jmp 0x67088813
mov ebp, ebx
neg ebp
jmp case.0x67088804.201
mov ebp, ebx
jmp case.0x67088804.201
mov ecx, ebx
neg ecx
mov ebp, dword [esp + 0x38]
sub ebp, edi
jmp 0x6708888e
mov ecx, ebx
neg ecx
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x5c]
sub eax, esi
jmp 0x6708882b
mov ecx, ebx
neg ecx
mov ebp, dword [esp + 0x40]
sub ebp, dword [esp + 0x58]
sub ebp, edi
add ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x5c]
sub eax, esi
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x40]
lea ebx, [ecx + esi]
lea edx, [edi + ebp]
push 6
pop ecx
lea esi, [esp + 0x38]
lea edi, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x38]
mov esi, edx
cmp ecx, edx
mov edi, ebx
push 6
cmovl esi, ecx
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x6c], esi
cmovl edi, dword [esp + 0x40]
add eax, ecx
mov ecx, dword [esp + 0x5c]
add ecx, edx
mov dword [esp + 0x70], edi
cmp eax, ecx
mov edx, dword [esp + 0x24]
cmovg ecx, eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x40]
sub ecx, esi
mov dword [esp + 0x74], ecx
lea esi, [esp + 0x6c]
mov ecx, dword [esp + 0x60]
add ecx, ebx
mov ebx, dword [esp + 0x38]
cmp eax, ecx
cmovg ecx, eax
mov al, byte [esp + 0x17]
sub ecx, edi
mov byte [esp + 0x1e], al
mov eax, dword [ebx + 0x3c]
lea edi, [esp + 0x3c]
mov dword [esp + 0x78], ecx
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2c]
add edx, edi
cmp byte [esp + 0x1b], 0
mov ecx, dword [esp + 0x14]
je 0x67088935
mov dword [eax + edx*8], ebp
jmp 0x67088946
sub ebp, dword [esp + 0x90]
mov dword [eax + edx*8], ebp
sub ecx, dword [esp + 0x94]
mov eax, dword [ebx + 0x3c]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
add esi, 2
mov dword [esp + 0x30], esi
mov dword [eax + edx*8 + 4], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + 0x38]
and dword [edx + eax], 0
inc edi
add edx, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edx
cmp edi, dword [esp + 0xa8]
jle 0x67088710
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.671a2acb
add esp, 0x8c
ret