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

Disassembly:
push 0xffffffffffffffff
push 0x4c0bbb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push ebp
xor eax, eax
push esi
mov ebp, 0xf
push edi
mov dword [esp + 0x30], eax
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], eax
mov byte [esp + 0x90], al
mov esi, dword [esp + 0xc0]
push 0xffffffffffffffff
push eax
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], eax
mov byte [esp + 0x24], al
call fcn.004065c0
mov edi, dword [esp + 0xbc]
mov eax, dword [edi + 0x14]
cmp eax, 2
mov byte [esp + 0xb0], 1
mov bl, 0x3a
jb 0x46b5e0
cmp dword [edi + 0x18], 0x10
jb 0x46b57a
mov eax, dword [edi + 4]
jmp 0x46b57d
lea eax, [edi + 4]
cmp byte [eax + 1], bl
jne 0x46b5e0
mov esi, dword [esp + 0xb8]
xor ebx, ebx
push 0xffffffffffffffff
push ebx
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push edi
mov ecx, esi
mov byte [esi + 4], bl
call fcn.004065c0
mov eax, dword [esp + 0x2c]
mov edi, 0x10
cmp eax, edi
jb 0x46b5b9
mov eax, dword [esp + 0x18]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0xa4], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], 0
jb 0x46bcef
mov ecx, dword [esp + 0x90]
push ecx
jmp 0x46bce7
push 1
push 0
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov byte [esp + 0x3c], 0x2f
mov byte [esp + 0x1c], 0x5c
call fcn.00440290
cmp eax, 0xffffffff
jne 0x46b619
push 1
push 0
lea eax, [esp + 0x18]
push eax
mov ecx, esi
mov byte [esp + 0x1c], 0x5c
call fcn.00440290
cmp eax, 0xffffffff
je 0x46b61e
mov byte [esp + 0x30], 0x5c
mov ecx, dword [esp + 0x28]
cmp ecx, 2
mov esi, 0x10
jb 0x46b6d0
cmp dword [esp + 0x2c], esi
mov eax, dword [esp + 0x18]
jae 0x46b63e
lea eax, [esp + 0x18]
cmp byte [eax + 1], bl
jne 0x46b6d0
push 2
push 0
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x20]
call fcn.00440550
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xbc], 2
call fcn.004065c0
cmp dword [esp + 0x68], esi
mov byte [esp + 0xb0], 1
jb 0x46b68d
mov edx, dword [esp + 0x54]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x18]
jae 0x46b69b
lea ecx, [esp + 0x18]
push ecx
add ecx, 2
mov eax, esp
mov dword [esp + 0x70], esp
push ecx
mov dword [eax], ecx
cmp dword [esp + 0x34], esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x74], esp
mov eax, esp
jae 0x46b6bc
lea ecx, [esp + 0x20]
mov dword [eax], ecx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x20]
call fcn.0046afc0
mov ecx, dword [esp + 0x28]
test ecx, ecx
jbe 0x46b70e
mov edx, dword [esp + 0x2c]
cmp edx, esi
mov eax, dword [esp + 0x18]
jae 0x46b6e4
lea eax, [esp + 0x18]
cmp byte [eax + ecx - 1], 0x5c
je 0x46b70e
cmp edx, esi
mov eax, dword [esp + 0x18]
jae 0x46b6f7
lea eax, [esp + 0x18]
cmp byte [eax + ecx - 1], 0x2f
je 0x46b70e
mov ecx, dword [esp + 0x30]
push ecx
push 1
lea ecx, [esp + 0x1c]
call fcn.0043e8e0
push 0xffffffffffffffff
push 0
push edi
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
call fcn.004065c0
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0xb0], 3
je 0x46bb32
lea ebx, [ebx]
push 1
push 0
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1c], 0x5c
call fcn.00440290
push 1
mov esi, eax
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1c], 0x2f
call fcn.00440290
cmp esi, 0xffffffff
je 0x46b78e
cmp eax, 0xffffffff
je 0x46b790
cmp eax, esi
jge 0x46b790
mov esi, eax
cmp esi, 0xffffffff
je 0x46bb32
push esi
push 0
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x7c]
call fcn.00440550
mov eax, dword [esp + 0x88]
cmp eax, 0x10
mov edi, dword [esp + 0x74]
mov byte [esp + 0xb0], 4
mov ecx, edi
jae 0x46b7c8
lea ecx, [esp + 0x74]
cmp eax, 0x10
lea ecx, [ecx + esi + 1]
mov edx, edi
jae 0x46b7e3
lea edx, [esp + 0x74]
lea esi, [esp + 0x74]
test edx, edx
jne 0x46b7e7
xor eax, eax
jmp 0x46b7eb
mov esi, edi
jmp 0x46b7db
mov eax, edx
sub eax, esi
test ecx, ecx
je 0x46b7f1
sub ecx, edx
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.004064e0
mov eax, 0x4ccd88
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b804
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
sub eax, edx
test ebp, ebp
je 0x46b846
cmp ebp, eax
mov ecx, ebp
jb 0x46b821
mov ecx, eax
cmp ebx, 0x10
mov esi, dword [esp + 0x38]
jae 0x46b82e
lea esi, [esp + 0x38]
mov edi, 0x4ccd88
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x46b83e
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x46b9ce
cmp ebp, eax
jb 0x46b9ce
xor edx, edx
cmp ebp, eax
setne dl
test edx, edx
jne 0x46b9ce
mov ecx, dword [esp + 0x28]
lea ebx, [ecx - 1]
test ebx, ebx
jle 0x46b899
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
cmp esi, 0x10
mov eax, edx
jae 0x46b87b
lea eax, [esp + 0x18]
cmp byte [eax + ebx - 1], 0x5c
je 0x46b899
cmp esi, 0x10
mov eax, edx
jae 0x46b88d
lea eax, [esp + 0x18]
cmp byte [eax + ebx - 1], 0x2f
je 0x46b899
dec ebx
test ebx, ebx
jg 0x46b870
sub ecx, ebx
dec ecx
push ecx
push ebx
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x20]
call fcn.00440550
mov eax, 0x4ccd88
mov byte [esp + 0xb0], 5
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b8c0
mov ecx, dword [esp + 0x64]
sub eax, edx
cmp ecx, ecx
mov ebp, ecx
jae 0x46b8d3
test ebp, ebp
je 0x46b902
cmp ebp, eax
mov ecx, ebp
jb 0x46b8df
mov ecx, eax
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x54]
jae 0x46b8ee
lea esi, [esp + 0x54]
mov edi, 0x4ccd88
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x46b8fe
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x46b94a
cmp ebp, eax
jb 0x46b94a
xor edx, edx
cmp ebp, eax
setne dl
test edx, edx
jne 0x46b94a
mov eax, 0x4ccd88
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b920
sub eax, edx
push eax
push 0x4ccd88
lea ecx, [esp + 0x1c]
call fcn.004188c0
mov eax, dword [esp + 0x30]
push eax
push 1
lea ecx, [esp + 0x1c]
call fcn.0043e8e0
jmp 0x46b99c
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
mov esi, dword [esp + 0x18]
mov ecx, esi
jae 0x46b95d
lea ecx, [esp + 0x18]
mov edx, dword [esp + 0x28]
add edx, ecx
cmp eax, 0x10
mov ecx, esi
jae 0x46b96e
lea ecx, [esp + 0x18]
add ecx, ebx
cmp eax, 0x10
jae 0x46b979
lea esi, [esp + 0x18]
test ecx, ecx
jne 0x46b981
xor eax, eax
jmp 0x46b985
mov eax, ecx
sub eax, esi
test edx, edx
jne 0x46b98d
xor ecx, ecx
jmp 0x46b991
sub edx, ecx
mov ecx, edx
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.004064e0
cmp dword [esp + 0x68], 0x10
jb 0x46b9b0
mov eax, dword [esp + 0x54]
push eax
call fcn.0049f22c
add esp, 4
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
jmp 0x46ba6c
mov eax, 0x4c4537
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b9d6
sub eax, edx
test ebp, ebp
je 0x46ba0c
cmp ebp, eax
mov ecx, ebp
jb 0x46b9eb
mov ecx, eax
cmp ebx, 0x10
mov esi, dword [esp + 0x38]
jae 0x46b9f8
lea esi, [esp + 0x38]
mov edi, 0x4c4537
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x46ba08
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x46ba1f
cmp ebp, eax
jb 0x46ba1f
xor edx, edx
cmp ebp, eax
setne dl
test edx, edx
je 0x46baac
mov eax, 0x4ccd8c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46ba27
sub eax, edx
test ebp, ebp
je 0x46ba5d
cmp ebp, eax
mov ecx, ebp
jb 0x46ba3c
mov ecx, eax
cmp ebx, 0x10
mov esi, dword [esp + 0x38]
jae 0x46ba49
lea esi, [esp + 0x38]
mov edi, 0x4ccd8c
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x46ba59
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x46bad0
cmp ebp, eax
jb 0x46bad0
xor edx, edx
cmp ebp, eax
setne dl
test edx, edx
jne 0x46bad0
cmp ebx, 0x10
mov byte [esp + 0xb0], 3
jb 0x46ba86
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0049f22c
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], 0
mov byte [esp + 0x38], 0
jne 0x46b750
jmp 0x46bb32
mov edx, dword [esp + 0x30]
push edx
lea ecx, [esp + 0x18]
call fcn.0046b1e0
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0xb0], 3
jb 0x46bb32
mov eax, dword [esp + 0x38]
push eax
jmp 0x46bb2a
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.00450d40
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xbc], 6
call fcn.004187c0
mov eax, dword [esp + 0x68]
mov esi, 0x10
cmp eax, esi
jb 0x46bb17
mov ecx, dword [esp + 0x54]
push ecx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x4c], esi
mov byte [esp + 0xb0], 3
jb 0x46bb32
mov edx, dword [esp + 0x38]
push edx
call fcn.0049f22c
add esp, 4
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.00418b60
lea ecx, [esp + 0x7c]
push ecx
push eax
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0xc8], 7
call fcn.00418b60
add esp, 0x18
push 0xffffffffffffffff
xor edi, edi
push edi
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xbc], 8
call fcn.004065c0
mov eax, dword [esp + 0x68]
mov ebx, 0x10
cmp eax, ebx
jb 0x46bb95
mov eax, dword [esp + 0x54]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x4c], ebx
mov ebp, 0xf
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], edi
mov byte [esp + 0x54], 0
mov byte [esp + 0xb0], 3
jb 0x46bbc2
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0049f22c
add esp, 4
cmp byte [esp + 0x30], 0x2f
push 1
push edi
jne 0x46bc1f
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c], 0x5c
call fcn.00440290
cmp eax, 0xffffffff
je 0x46bc6d
jmp 0x46bbf0
cmp dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x18]
jae 0x46bbfe
lea ecx, [esp + 0x18]
push 1
mov byte [ecx + eax], 0x2f
push edi
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c], 0x5c
call fcn.00440290
cmp eax, 0xffffffff
jne 0x46bbf0
jmp 0x46bc6d
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c], 0x2f
call fcn.00440290
cmp eax, 0xffffffff
je 0x46bc6d
jmp 0x46bc40
cmp dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x18]
jae 0x46bc4e
lea ecx, [esp + 0x18]
push 1
push edi
lea edx, [esp + 0x18]
mov byte [ecx + eax], 0x5c
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x1c], 0x2f
call fcn.00440290
cmp eax, 0xffffffff
jne 0x46bc40
mov esi, dword [esp + 0xb8]
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x1c]
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], edi
push eax
mov ecx, esi
mov byte [esi + 4], 0
call fcn.004065c0
cmp dword [esp + 0x88], ebx
jb 0x46bca3
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x2c], ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], edi
mov byte [esp + 0x74], 0
jb 0x46bcc9
mov edx, dword [esp + 0x18]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0xa4], ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edi
mov byte [esp + 0x18], 0
jb 0x46bcef
mov eax, dword [esp + 0x90]
push eax
call fcn.0049f22c
add esp, 4
mov ecx, dword [esp + 0xa8]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa4
ret