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

Disassembly:
push 0xffffffffffffffff
push 0x5874e0
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x5ed130]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ed130]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xc8]
push 0x108
mov edi, ecx
push 0xf
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebp
call fcn.0045ede0
mov cl, byte [ebp + 0x30]
push 0x100
mov dword [esp + 0x28], eax
add eax, 8
push 0
push eax
mov byte [esp + 0x37], cl
call fcn.0043fa10
mov esi, dword [ebp + 0xc]
add esp, 0xc
cmp esi, dword [ebp + 0x10]
jbe 0x467863
call fcn.0043fcb8
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
cmp dword [ebp + 0xc], eax
jbe 0x46787b
call fcn.0043fcb8
mov edx, dword [ebp]
mov dword [esp + 0x3c], edx
test ebx, ebx
je 0x46788c
cmp ebx, dword [esp + 0x3c]
je 0x467891
call fcn.0043fcb8
cmp esi, dword [esp + 0x18]
je 0x467937
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
cmp byte [edi + 0xc], 0
je 0x4678bc
mov eax, dword [edi + 4]
mov eax, dword [eax]
movzx edx, bl
mov dl, byte [eax + edx + 0x104]
mov byte [esp + 0x14], dl
jmp 0x4678c0
mov byte [esp + 0x14], bl
test ecx, ecx
jne 0x46792f
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4678dd
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
cmp byte [edi + 0xc], 0
mov al, byte [esi]
je 0x4678f4
mov edx, dword [edi + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
cmp byte [esp + 0x14], al
jne 0x467905
mov eax, dword [esp + 0x24]
add eax, 8
mov byte [eax + ebx], 1
inc ebx
cmp ebx, 0x100
jb 0x4678a1
test ecx, ecx
jne 0x467933
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x467923
call fcn.0043fcb8
mov ebx, dword [esp + 0x1c]
add esi, 2
jmp 0x467882
mov eax, dword [ecx]
jmp 0x4678cf
mov eax, dword [ecx]
jmp 0x467919
mov esi, dword [ebp + 0x24]
cmp esi, dword [ebp + 0x28]
jbe 0x467944
call fcn.0043fcb8
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
cmp dword [ebp + 0x24], eax
jbe 0x467960
call fcn.0043fcb8
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x34], ecx
jmp 0x467970
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x467986
cmp edi, dword [esp + 0x34]
je 0x46798b
call fcn.0043fcb8
cmp esi, dword [esp + 0x3c]
je 0x467cdc
test edi, edi
jne 0x467c56
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4679ae
call fcn.0043fcb8
cmp byte [ebp + 0xc], 0
mov al, byte [esi]
mov ecx, dword [ebp + 4]
je 0x4679c5
mov ecx, dword [ecx]
movzx edx, al
mov al, byte [edx + ecx + 0x104]
mov byte [esp + 0x14], al
test edi, edi
jne 0x467c5d
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4679e2
call fcn.0043fcb8
add esi, 2
test edi, edi
jne 0x467c64
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4679fe
call fcn.0043fcb8
cmp byte [ebp + 0xc], 0
mov bl, byte [esi]
mov eax, dword [ebp + 4]
je 0x467a15
mov eax, dword [eax]
movzx ecx, bl
mov bl, byte [ecx + eax + 0x104]
test edi, edi
jne 0x467c6b
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x467a2e
call fcn.0043fcb8
mov edx, dword [ebp]
mov al, byte [esp + 0x14]
add esi, 2
test dword [edx + 0x20], 0x200000
mov dword [esp + 0x20], esi
je 0x467c72
lea ecx, [esp + 0x19]
push ecx
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c], al
push edx
lea eax, [esp + 0xa0]
push eax
mov byte [esp + 0x25], 0
call fcn.0045f5e0
lea ecx, [esp + 0x19]
push ecx
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0xcc], 0
mov byte [esp + 0x24], bl
call fcn.0045f5e0
cmp dword [esp + 0xb0], 0x10
mov edx, dword [esp + 0x9c]
mov byte [esp + 0xc0], 1
jae 0x467ab2
lea edx, [esp + 0x9c]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xac]
mov ecx, esi
cmp esi, edi
jb 0x467ac5
mov ecx, edi
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x64]
mov eax, ebp
cmp ebx, 0x10
jae 0x467ad8
lea eax, [esp + 0x64]
push ecx
push edx
push eax
call fcn.00401090
add esp, 0xc
test eax, eax
jne 0x467af6
cmp esi, edi
jb 0x467c98
cmp esi, edi
setne al
test eax, eax
jl 0x467c98
mov dword [esp + 0x14], 0
mov cl, byte [esp + 0x14]
lea edx, [esp + 0x19]
push edx
mov edx, dword [esp + 0x30]
mov byte [esp + 0x1c], cl
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [edx + 4]
call fcn.0045f5e0
cmp dword [esp + 0xb0], 0x10
mov edx, dword [esp + 0x9c]
jae 0x467b3f
lea edx, [esp + 0x9c]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0xac]
mov ecx, edi
cmp edi, esi
jb 0x467b52
mov ecx, esi
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x48]
mov eax, ebp
cmp ebx, 0x10
jae 0x467b65
lea eax, [esp + 0x48]
push ecx
push edx
push eax
call fcn.00401090
add esp, 0xc
test eax, eax
jne 0x467b7f
cmp edi, esi
jb 0x467bd2
cmp edi, esi
setne al
test eax, eax
jl 0x467bd2
mov edx, ebp
cmp ebx, 0x10
jae 0x467b8c
lea edx, [esp + 0x48]
mov esi, dword [esp + 0x74]
mov ecx, esi
cmp esi, edi
jb 0x467b98
mov ecx, edi
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x467ba7
lea eax, [esp + 0x64]
push ecx
push edx
push eax
call fcn.00401090
add esp, 0xc
test eax, eax
jne 0x467bc1
cmp esi, edi
jb 0x467bd2
cmp esi, edi
setne al
test eax, eax
jl 0x467bd2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add eax, 8
mov byte [eax + ecx], 1
mov byte [esp + 0xc0], 1
cmp ebx, 0x10
jb 0x467be8
push ebp
call fcn.0043deaa
add esp, 4
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x100
jb 0x467b04
mov esi, 0x10
cmp dword [esp + 0x78], esi
jb 0x467c14
mov edx, dword [esp + 0x64]
push edx
call fcn.0043deaa
add esp, 4
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
mov dword [esp + 0xc0], 0xffffffff
cmp dword [esp + 0xb0], esi
jb 0x467970
mov eax, dword [esp + 0x9c]
push eax
call fcn.0043deaa
add esp, 4
jmp 0x467970
mov eax, dword [edi]
jmp 0x4679a4
mov eax, dword [edi]
jmp 0x4679d8
mov eax, dword [edi]
jmp 0x4679f4
mov eax, dword [edi]
jmp 0x467a24
cmp bl, al
jb 0x467cd5
mov edx, dword [esp + 0x24]
movzx eax, al
movzx ecx, bl
sub ecx, eax
inc ecx
push ecx
lea eax, [eax + edx + 8]
push 1
push eax
call fcn.0043fa10
add esp, 0xc
jmp 0x46797c
cmp ebx, 0x10
jb 0x467ca6
push ebp
call fcn.0043deaa
add esp, 4
cmp dword [esp + 0xb0], 0x10
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
jb 0x467cd5
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.0043deaa
add esp, 4
xor eax, eax
jmp 0x468012
mov edx, dword [ebp]
mov eax, dword [edx + 0x20]
mov ebx, dword [esp + 0x30]
mov edi, dword [ebx + 0x34]
test eax, 0x100000
je 0x467d09
mov eax, dword [ebp + 0x58]
mov ecx, eax
and ecx, edi
cmp ecx, eax
je 0x467d06
mov eax, dword [ebp + 0x5c]
mov edx, eax
and edx, edi
cmp edx, eax
jne 0x467d09
or edi, dword [ebp + 0x60]
test edi, edi
je 0x467d32
xor esi, esi
nop
mov ecx, dword [ebp + 4]
push edi
push esi
call fcn.0045c410
test al, al
je 0x467d29
mov eax, dword [esp + 0x24]
add eax, 8
mov byte [eax + esi], 1
inc esi
cmp esi, 0x100
jb 0x467d10
mov eax, dword [ebp]
test dword [eax + 0x20], 0x100000
mov edi, dword [ebx + 0x38]
je 0x467d5a
mov eax, dword [ebp + 0x58]
mov ecx, eax
and ecx, edi
cmp ecx, eax
je 0x467d57
mov eax, dword [ebp + 0x5c]
mov edx, eax
and edx, edi
cmp edx, eax
jne 0x467d5a
or edi, dword [ebp + 0x60]
test edi, edi
je 0x467d82
xor esi, esi
mov ecx, dword [ebp + 4]
push edi
push esi
call fcn.0045c410
test al, al
jne 0x467d79
mov eax, dword [esp + 0x24]
add eax, 8
mov byte [eax + esi], 1
inc esi
cmp esi, 0x100
jb 0x467d60
mov esi, dword [ebx + 0x4c]
cmp esi, dword [ebx + 0x50]
jbe 0x467d8f
call fcn.0043fcb8
mov ebp, dword [ebx + 0x50]
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebp
cmp dword [ebx + 0x4c], ebp
jbe 0x467dab
call fcn.0043fcb8
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x34], eax
test edi, edi
je 0x467dbc
cmp edi, dword [esp + 0x34]
je 0x467dc1
call fcn.0043fcb8
cmp esi, ebp
je 0x467fe6
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
mov dword [esp + 0xc0], 3
test edi, edi
jne 0x467fb3
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x467e0b
call fcn.0043fcb8
test edi, edi
jne 0x467fba
call fcn.0043fcb8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x467e24
call fcn.0043fcb8
mov eax, dword [esp + 0x2c]
lea ecx, [esi + 1]
push ecx
mov ecx, dword [eax + 4]
push esi
lea edx, [esp + 0x4c]
push edx
call fcn.00465d10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0xcc], 4
call fcn.00402180
mov esi, 0x10
mov byte [esp + 0xc0], 3
cmp dword [esp + 0x5c], esi
jb 0x467e73
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0043deaa
add esp, 4
cmp dword [esp + 0x90], 0
je 0x467fc5
xor ebx, ebx
lea edx, [esp + 0x15]
push edx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [edx + 4]
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 0
call fcn.00465d10
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
cmp ebp, 0x10
jae 0x467eb8
lea edx, [esp + 0x48]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x58]
mov ecx, esi
cmp esi, edi
jb 0x467ecb
mov ecx, edi
cmp dword [esp + 0x94], 0x10
mov eax, dword [esp + 0x80]
jae 0x467ee3
lea eax, [esp + 0x80]
push ecx
push edx
push eax
call fcn.00401090
add esp, 0xc
test eax, eax
jne 0x467f0a
cmp esi, edi
jb 0x467f0a
cmp esi, edi
setne al
test eax, eax
jne 0x467f0a
mov eax, dword [esp + 0x24]
add eax, 8
mov byte [eax + ebx], 1
mov byte [esp + 0xc0], 3
cmp ebp, 0x10
jb 0x467f24
mov eax, dword [esp + 0x48]
push eax
call fcn.0043deaa
add esp, 4
xor esi, esi
inc ebx
mov edi, 0xf
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], esi
mov byte [esp + 0x48], 0
cmp ebx, 0x100
jb 0x467e83
mov eax, dword [esp + 0x1c]
cmp eax, esi
jne 0x467fc1
call fcn.0043fcb8
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x467f62
call fcn.0043fcb8
add dword [esp + 0x20], 2
cmp dword [esp + 0x94], 0x10
mov dword [esp + 0xc0], 0xffffffff
jb 0x467f8c
mov edx, dword [esp + 0x80]
push edx
call fcn.0043deaa
add esp, 4
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x20]
mov byte [esp + 0x80], 0
jmp 0x467db2
mov eax, dword [edi]
jmp 0x467e01
mov eax, dword [edi]
jmp 0x467e1a
mov eax, dword [eax]
jmp 0x467f54
cmp dword [esp + 0x94], esi
jb 0x467cd5
mov eax, dword [esp + 0x80]
push eax
call fcn.0043deaa
add esp, 4
xor eax, eax
jmp 0x468012
cmp byte [esp + 0x2b], 0
je 0x46800e
mov eax, dword [esp + 0x24]
add eax, 8
mov ecx, 0x100
lea esp, [esp]
cmp byte [eax], 0
sete dl
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x468000
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.0043dd0c
add esp, 0xb0
ret 8