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

Disassembly:
push 0xffffffffffffffff
push 0x68003b
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x258], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x78f694]
xor eax, esp
push eax
lea eax, [esp + 0x270]
mov dword fs:[0], eax
mov edi, dword [esp + 0x284]
mov eax, dword [esp + 0x290]
mov ebx, dword [esp + 0x28c]
mov esi, ecx
mov ecx, dword [esp + 0x280]
xor ebp, ebp
cmp ecx, ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], ebp
jne 0x46ee16
xor al, al
jmp 0x46f34b
cmp edi, ebp
je 0x46f349
mov eax, dword [esp + 0x288]
cmp eax, ebp
je 0x46f349
test al, 1
je 0x46ee3b
sub eax, 1
mov dword [esp + 0x288], eax
cmp eax, ebp
je 0x46ee0f
call fcn.004c6ba0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2b], al
mov dword [esp + 0x24], ebp
mov byte [esp + 0x1f], 1
call fcn.00468060
mov ecx, dword [esp + 0x288]
test ecx, ecx
mov dword [esp + 0x278], ebp
mov dword [esp + 0x18], ebp
jbe 0x46ef22
cmp byte [esi + 0x81], 0
je 0x46ef3f
lea edx, [ebp + 3]
cmp ecx, edx
jb 0x46ef3f
cmp byte [edi + ebp], 0xfd
jne 0x46ef3f
cmp byte [edi + ebp + 1], 0xef
jne 0x46ef3f
movzx edi, byte [edi + ebp + 2]
add ebp, 2
cmp edi, 6
mov dword [esp + 0x18], ebp
jae 0x46eefa
add ebp, 1
lea eax, [edi + ebp]
cmp ecx, eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x2c], eax
jb 0x46eefa
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46eee1
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x20]
add ecx, ebp
push edi
push ecx
mov ecx, ebx
call fcn.00469150
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
mov ebp, edx
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x288]
cmp ebp, ecx
jb 0x46ee74
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46ef22
push eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebx
call fcn.00469150
lea ecx, [esp + 0x40]
mov dword [esp + 0x278], 0xffffffff
call fcn.00468860
mov al, byte [esp + 0x1f]
jmp 0x46f34b
cmp byte [esp + 0x2b], 0
je 0x46ef94
cmp byte [edi + ebp + 1], 0
jne 0x46ef94
mov cl, byte [edi + ebp]
cmp cl, 0x80
jae 0x46ef94
mov eax, dword [esp + 0x14]
mov byte [esp + eax + 0x68], cl
add eax, 1
cmp eax, 0x200
mov dword [esp + 0x14], eax
jb 0x46ef80
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], 0
add ebp, 2
mov dword [esp + 0x24], 1
mov dword [esp + 0x18], ebp
jmp 0x46eefe
mov ecx, dword [esp + 0x20]
xor eax, eax
mov ah, byte [ecx + ebp + 1]
add edi, ebp
mov ebp, dword [esp + 0x30]
xor edx, edx
mov dword [esp + 0x24], 0
mov al, byte [edi]
div dword [ebp + 0x1c]
lea ecx, [edx + edx*4]
mov edx, dword [ebp + 0x20]
lea eax, [ecx + edx]
xor edx, edx
mov dh, byte [eax + 1]
xor ebp, ebp
mov dl, byte [eax]
movzx eax, dx
cmp ax, bp
jne 0x46eff0
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0x24], 0
je 0x46f0aa
lea eax, [esp + 0x24]
push eax
lea edx, [esp + 0x60]
push edx
push edi
call fcn.004c71c0
jmp 0x46f0a4
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x20]
mov al, byte [ecx + edx]
cmp al, byte [edi]
lea ebp, [ecx + edx]
mov dword [esp + 0x2c], ebp
jne 0x46f08e
mov dl, byte [ebp + 1]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
cmp dl, byte [eax + ebp + 1]
jne 0x46f08e
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x20]
mov dl, byte [ecx + eax + 2]
add ecx, eax
mov byte [esp + 0x5c], dl
mov dword [esp + 0x24], 2
xor ebp, ebp
cmp byte [ecx + 4], 0
jne 0x46f084
mov eax, dword [esp + 0x2c]
mov cl, byte [eax + 3]
mov byte [esp + 0x5d], cl
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x46f05f
push eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x60]
push eax
mov ecx, ebx
call fcn.00469150
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
add ebp, 2
mov dword [esp + 0x18], ebp
jmp 0x46eefe
mov dword [esp + 0x24], 1
jmp 0x46f046
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.004c71c0
xor ebp, ebp
cmp dword [esp + 0x24], ebp
jne 0x46f046
cmp byte [edi], 0
jne 0x46f102
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp byte [ecx + edx + 1], 0
jne 0x46f102
mov eax, dword [esp + 0x14]
mov byte [esp + eax + 0x68], 0
add eax, 1
cmp eax, 0x200
mov dword [esp + 0x14], eax
jb 0x46f337
push eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebx
call fcn.00469150
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
add ebp, 2
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], ebp
jmp 0x46eefe
mov eax, dword [esi + 8]
cmp eax, ebp
mov byte [esi + 0x82], 1
je 0x46f31e
cmp byte [esi + 0x81], 0
je 0x46f2f7
cmp eax, 1
jne 0x46f170
cmp dword [esi + 0x10], ebp
je 0x46f31e
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x46f148
push eax
lea edx, [esp + 0x6c]
push edx
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], ebp
mov eax, dword [esi + 0x10]
push eax
lea ecx, [esi + 0x14]
push ecx
mov ecx, ebx
call fcn.00469150
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
add ebp, 2
mov byte [esp + 0x1f], 0
mov dword [esp + 0x18], ebp
jmp 0x46eefe
cmp eax, 7
jne 0x46f1e6
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x46f18e
push eax
lea edx, [esp + 0x6c]
push edx
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x34]
mov ebp, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 8]
push edx
push ebx
push 2
push edi
push ebp
mov dword [esp + 0x4c], ecx
push 0x4b0
mov ecx, esi
mov dword [esp + 0x44], eax
mov dword [esi + 8], 0
call fcn.00477e40
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
mov dword [esi + 0x78], ebp
mov ebp, dword [esp + 0x18]
add ebp, 2
mov dword [esi + 8], eax
mov dword [esi + 0x7c], ecx
mov byte [esp + 0x1f], 0
mov dword [esp + 0x18], ebp
jmp 0x46eefe
cmp eax, 2
jne 0x46f2d7
lea ecx, [esp + 0x40]
call fcn.00467d60
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
push ecx
mov dword [esp + 0x30], edx
lea edx, [esp + 0x44]
push edx
push 2
push edi
push ebp
push 0x4b0
mov ecx, esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], eax
mov dword [esi + 8], 0
call fcn.00477e40
lea ecx, [esp + 0x40]
call fcn.00544a30
test eax, eax
je 0x46f2ad
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46f258
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x40]
call fcn.00544a30
push 0x26
mov ecx, ebx
mov ebp, eax
call fcn.00468d30
push 0x23
mov ecx, ebx
call fcn.00468d30
push 0x78
mov ecx, ebx
call fcn.00468d30
xor edi, edi
test ebp, ebp
jle 0x46f2a0
push ebx
push 1
push edi
lea ecx, [esp + 0x4c]
call fcn.00467db0
push eax
mov ecx, esi
call fcn.0046e880
add edi, 1
cmp edi, ebp
jl 0x46f284
push 0x3b
mov ecx, ebx
call fcn.00468d30
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
mov dword [esi + 0x78], ebp
mov ebp, dword [esp + 0x18]
add ebp, 2
mov dword [esi + 8], ecx
mov dword [esi + 0x7c], edx
mov byte [esp + 0x1f], 0
mov dword [esp + 0x18], ebp
jmp 0x46eefe
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x46f2f0
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x34]
push ecx
jmp 0x46f315
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x46f310
push eax
lea edx, [esp + 0x6c]
push edx
mov ecx, ebx
call fcn.00469150
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x34]
push eax
push ebx
push edi
mov ecx, esi
call fcn.0046e900
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
add ebp, 2
mov byte [esp + 0x1f], 0
mov dword [esp + 0x18], ebp
jmp 0x46eefe
mov ebp, dword [esp + 0x18]
add ebp, 2
mov edi, ecx
mov dword [esp + 0x18], ebp
jmp 0x46eefe
mov al, 1
mov ecx, dword [esp + 0x270]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.0062cbd3
add esp, 0x268
ret 0x14