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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, eax
mov eax, dword [edi + 0x9c]
xor dl, dl
cmp dword [esi + 0x30], eax
je 0x67555b
cmp eax, 0x736f756e
jne 0x675543
cmp dword [edi + 0x98], 0
jne 0x675543
mov dl, 1
cmp eax, 0x76696465
jne 0x675553
cmp dword [edi + 0x94], 0
je 0x67555b
test dl, dl
je case.0x675870.2
cmp dword [ecx], 0
mov eax, dword [ebp + 0xc]
lea esi, [ecx + eax]
mov ebx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], ebx
je case.0x675870.2
jmp 0x675584
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 4]
cmp eax, 0x64656333
mov edx, dword [ebp + 8]
mov edi, 0x65736473
ja 0x6757fd
je 0x6756fe
cmp eax, 0x636f6c72
ja 0x6755ee
je 0x6755dd
cmp eax, 0x61763143
je 0x675824
cmp eax, 0x61766343
je 0x675824
cmp eax, 0x6368616e
jne case.0x675870.0
add ecx, dword [ebx]
cmp ecx, esi
mov dword [esp + 0x10], ecx
ja case.0x675870.2
jmp case.0x675870.0
sub esi, ebx
push esi
mov eax, ebx
mov esi, edx
call fcn.00675490
jmp case.0x675870.0
cmp eax, 0x64323633
je 0x675824
cmp eax, 0x64616333
je 0x67562b
cmp eax, 0x64616d72
jne case.0x675870.0
mov byte [edx + 0x130], 1
mov cx, word [ebx + 0xd]
mov dh, cl
mov dl, ch
mov word [ebx + 0xd], dx
mov eax, dword [ebx + 8]
bswap eax
mov dword [ebx + 8], eax
jmp case.0x675870.0
mov cx, word [ebx + 8]
mov dl, byte [ebx + 0xa]
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x30], eax
mov word [esp + 0x30], cx
mov byte [esp + 0x32], dl
mov ecx, dword [esp + 0x30]
bswap ecx
bswap eax
add esi, 0xa8
mov edi, 3
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
call fcn.00554970
mov eax, dword [esi]
test eax, eax
je case.0x675870.2
mov esi, dword [ebp + 8]
mov dword [esi + 0xac], edi
mov dx, word [ebx + 8]
mov word [eax], dx
mov cl, byte [ebx + 0xa]
mov edx, dword [esp + 0x34]
mov byte [eax + 2], cl
mov ecx, edx
mov eax, edx
shr eax, 0x1e
shr ecx, 0x18
shr edx, 0x17
and eax, edi
and ecx, 7
and dl, 1
mov byte [esp + 0x1c], 2
mov byte [esp + 0x1d], 1
mov byte [esp + 0x1e], 2
mov byte [esp + 0x1f], 3
mov byte [esp + 0x20], 3
mov byte [esp + 0x21], 4
mov byte [esp + 0x22], 4
mov byte [esp + 0x23], 5
add dl, byte [esp + ecx + 0x1c]
mov dword [esp + 0x44], 0xbb80
mov dword [esp + 0x48], 0xac44
mov dword [esp + 0x4c], 0x7d00
mov dword [esp + 0x50], 0x5dc0
mov eax, dword [esp + eax*4 + 0x44]
mov dword [esi + 0x12c], eax
mov byte [esi + 0x130], dl
jmp case.0x675870.0
mov eax, dword [esp + 0x2c]
mov edi, dword [eax]
sub edi, 8
cmp edi, 2
lea ebx, [eax + 8]
jl case.0x675870.0
mov esi, dword [ebp + 8]
add esi, 0xa8
call fcn.00554970
mov eax, dword [esi]
test eax, eax
je case.0x675870.2
mov ecx, dword [ebp + 8]
push edi
push ebx
push eax
mov dword [ecx + 0xac], edi
call fcn.006a4bd0
movzx eax, byte [ebx + 1]
and eax, 7
add eax, 1
add esp, 0xc
add ebx, 2
sub edi, 2
test eax, eax
jle case.0x675870.0
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov ecx, 0xbb80
cmp edi, 3
jl 0x6757ed
movzx edx, byte [ebx]
movzx eax, byte [ebx + 1]
shr edx, 6
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 0xac44
mov dword [esp + 0x5c], 0x7d00
mov dword [esp + 0x60], 0x5dc0
mov edx, dword [esp + edx*4 + 0x54]
mov dword [esi + 0x12c], edx
mov dl, byte [ebx + 1]
shr eax, 1
and eax, 7
and dl, 1
mov byte [esp + 0x24], 2
mov byte [esp + 0x25], 1
mov byte [esp + 0x26], 2
mov byte [esp + 0x27], 3
mov byte [esp + 0x28], 3
mov byte [esp + 0x29], 4
mov byte [esp + 0x2a], 4
mov byte [esp + 0x2b], 5
add dl, byte [esp + eax + 0x24]
mov byte [esi + 0x130], dl
test byte [ebx + 2], 0x1e
je 0x6757e7
add ebx, 4
sub edi, 4
jmp 0x6757ed
add ebx, 3
sub edi, 3
sub dword [esp + 0xc], 1
jne 0x675763
jmp case.0x675870.0
cmp eax, 0x6d346473
ja 0x675877
je 0x6758f4
cmp eax, edi
je 0x6758f4
cmp eax, 0x6669656c
je 0x675849
cmp eax, 0x68766343
jne case.0x675870.0
lea edi, [ebx + 8]
mov ebx, dword [ebx]
sub ebx, 8
je 0x67583a
mov eax, dword [ebp + 0x10]
push edx
push edi
mov ecx, ebx
call fcn.00675c80
add ebx, edi
cmp ebx, esi
ja case.0x675870.2
jmp case.0x675870.0
cmp dword [ebx], 0xa
jne case.0x675870.2
cmp byte [ebx + 8], 2
jne case.0x675870.0
movzx eax, byte [ebx + 9]
cmp eax, 0xe
ja case.0x675870.2
movzx eax, byte [eax + 0x675c10]
jmp dword [eax*4 + 0x675c08]
cmp eax, 0x70617370
je 0x675b97
cmp eax, 0x76706343
je 0x675824
cmp eax, 0x77617665
jne case.0x675870.0
add ecx, 8
cmp ecx, esi
mov dword [esp + 0x10], ecx
ja case.0x675870.2
mov ebx, dword [ebx]
add ebx, ecx
cmp ecx, ebx
jae 0x6758e7
jmp 0x6758b0
lea edx, [ecx + 8]
cmp edx, esi
ja case.0x675870.2
mov eax, dword [ecx]
bswap eax
mov dword [ecx], eax
mov edx, dword [ecx + 4]
bswap edx
cmp edx, edi
mov dword [ecx + 4], edx
je 0x6758d9
add ecx, dword [ecx]
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jb 0x6758b0
jmp 0x6758e7
mov eax, dword [ecx]
bswap eax
mov dword [ecx], eax
mov edx, dword [ecx + 4]
bswap edx
mov dword [ecx + 4], edx
cmp dword [ecx + 4], 0x73647365
jne case.0x675870.0
lea eax, [ecx + 0xc]
cmp eax, esi
ja case.0x675870.2
mov al, byte [ecx + 9]
mov dl, byte [ecx + 0xb]
lea edi, [esp + 0x98]
mov byte [ecx + 9], dl
mov byte [ecx + 0xb], al
call fcn.00677330
mov eax, dword [esp + 0x9c]
test eax, eax
je case.0x675935.33
movzx eax, byte [eax + 1]
add eax, 0xffffffe0
cmp eax, 0x4b
ja case.0x675935.33
movzx eax, byte [eax + 0x675c34]
jmp dword [eax*4 + 0x675c20]
mov ecx, dword [ebp + 8]
mov eax, 0xb
mov dword [ecx + 0x13c], eax
jmp 0x67597f
mov ecx, dword [ebp + 8]
mov eax, 2
mov dword [ecx + 0x136], eax
jmp 0x67597f
mov ecx, dword [ebp + 8]
mov eax, 0xb
mov dword [ecx + 0x136], eax
jmp 0x67597f
mov ecx, dword [ebp + 8]
mov eax, 0xc
mov dword [ecx + 0x13c], eax
jmp 0x67597f
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xa0]
test eax, eax
je case.0x675870.0
movzx edi, byte [eax]
lea ebx, [eax + 1]
mov eax, dword [ecx + 0xa4]
cmp eax, 0x76696465
jne 0x6759ba
test edi, edi
je case.0x675870.0
mov eax, dword [ebp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.00675c80
jmp case.0x675870.0
cmp eax, 0x736f756e
jne case.0x675870.0
lea esi, [ecx + 0xa8]
call fcn.00554970
mov eax, dword [esi]
xor esi, esi
cmp eax, esi
je case.0x675870.2
mov edx, dword [ebp + 8]
push edi
push ebx
push eax
mov dword [edx + 0xac], edi
call fcn.006a4bd0
add esp, 0xc
cmp edi, 8
mov dword [esp + 0x64], 0x17700
mov dword [esp + 0x68], 0x15888
mov dword [esp + 0x6c], 0xfa00
mov dword [esp + 0x70], 0xbb80
mov dword [esp + 0x74], 0xac44
mov dword [esp + 0x78], 0x7d00
mov dword [esp + 0x7c], 0x5dc0
mov dword [esp + 0x80], 0x5622
mov dword [esp + 0x84], 0x3e80
mov dword [esp + 0x88], 0x2ee0
mov dword [esp + 0x8c], 0x2b11
mov dword [esp + 0x90], 0x1f40
mov dword [esp + 0x94], 0x1cb6
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 1
mov byte [esp + 0x16], 2
mov byte [esp + 0x17], 3
mov byte [esp + 0x18], 4
mov byte [esp + 0x19], 5
mov byte [esp + 0x1a], 6
mov byte [esp + 0x1b], 7
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
jb 0x675aa4
mov edi, 8
push edi
lea eax, [esp + 0x3c]
push ebx
push eax
call fcn.006a4bd0
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
bswap esi
mov ecx, esi
shr ecx, 0x1b
mov eax, ecx
and eax, 0x1f
add esp, 0xc
cmp eax, 0x1f
bswap ebx
mov edi, 5
jne 0x675ad8
mov edi, 0xb
mov ecx, 0x3c
sub ecx, edi
mov eax, 0xf
xor edx, edx
mov dword [esp + 0xc], ecx
call fcn.006b2b50
mov ecx, dword [esp + 0xc]
and eax, ebx
and edx, esi
call fcn.006ae2f0
mov edx, dword [ebp + 8]
add edi, 4
cmp dword [edx + 0x12c], 0
jne 0x675b54
cmp eax, 0xf
jne 0x675b42
mov ecx, 0x28
sub ecx, edi
mov eax, 0xffffff
xor edx, edx
mov dword [esp + 0xc], ecx
call fcn.006b2b50
mov ecx, dword [esp + 0xc]
and eax, ebx
and edx, esi
call fcn.006ae2f0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x12c], eax
add edi, 0x18
jmp 0x675b54
cmp eax, 0xd
jae 0x675b54
mov edx, dword [esp + eax*4 + 0x64]
mov eax, dword [ebp + 8]
mov dword [eax + 0x12c], edx
mov ecx, 0x3c
sub ecx, edi
mov eax, 0xf
xor edx, edx
mov dword [esp + 0xc], ecx
call fcn.006b2b50
mov ecx, dword [esp + 0xc]
and eax, ebx
and edx, esi
call fcn.006ae2f0
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x130], 0
jne case.0x675870.0
cmp eax, 8
jae case.0x675870.0
mov dl, byte [esp + eax + 0x14]
mov eax, ecx
mov byte [eax + 0x130], dl
jmp case.0x675870.0
mov ecx, dword [ebx]
lea edx, [ebx + ecx]
cmp edx, esi
ja case.0x675870.2
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
bswap eax
test eax, eax
bswap ebx
je case.0x675870.0
test ebx, ebx
je case.0x675870.0
mov ecx, dword [ebp + 8]
lea edi, [ecx + 0x134]
mov dword [edi], eax
mov dword [ecx + 0x138], ebx
call fcn.00641280
mov ebx, dword [esp + 0x2c]
add ebx, dword [ebx]
mov esi, dword [esp + 0x40]
lea eax, [ebx + 8]
cmp eax, esi
mov dword [esp + 0x2c], ebx
jae case.0x675870.2
mov ecx, dword [ebx]
bswap ecx
mov dword [ebx], ecx
mov edx, dword [ebx + 4]
bswap edx
mov dword [ebx + 4], edx
mov eax, dword [ebx]
add eax, ebx
cmp eax, esi
ja case.0x675870.2
cmp dword [ebx], 0
jne 0x675580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc