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

Disassembly:
push 0xffffffffffffffff
push 0x953731
mov eax, dword fs:[0]
push eax
sub esp, 0x1e4
mov eax, dword [0x99986c]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x99986c]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov edi, dword [esp + 0x208]
mov ebp, dword [esp + 0x20c]
mov ebx, ecx
mov esi, dword [ebx + 0x1f4]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebp
test edi, edi
jne 0x902c62
cmp esi, dword [0x99ae58]
jne 0x9029eb
cmp ebp, 0x10000
jae 0x9029eb
push ebp
push esi
call fcn.008a8330
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x902c5e
mov eax, dword [ebx + 0x36c]
and eax, 0x100004
cmp eax, 4
jne 0x902a20
cmp esi, dword [0x99ae58]
jne 0x902a0b
cmp ebp, 0x10000
jb 0x902a20
mov eax, dword [ebx + 0x1f4]
push ebp
push eax
call fcn.008a8330
add esp, 8
jmp 0x902c52
mov edi, dword [ebx + 0x1f4]
mov ecx, dword [edi + 0x3c]
mov edx, dword [ecx + edi + 0x78]
lea eax, [ecx + edi]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], eax
test edx, edx
jne 0x902a46
xor eax, eax
jmp 0x902d7a
mov eax, dword [edi + edx + 0x1c]
mov ecx, dword [edi + edx + 0x20]
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [edi + edx + 0x24]
add ecx, edi
add eax, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], 0xffffffff
cmp ebp, 0x10000
jb 0x902c39
mov eax, dword [edi + edx + 0x18]
lea ebp, [eax - 1]
xor ebx, ebx
mov dword [esp + 0x30], eax
test ebp, ebp
jl 0x902b0a
jmp 0x902a94
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x18], 0xffffffff
jne 0x902b74
lea eax, [ebx + ebp]
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
mov esi, eax
sar esi, 1
mov ecx, dword [ecx + esi*4]
add ecx, edi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x902ad2
test al, al
je 0x902ace
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x902ad2
add ecx, 2
add edx, 2
test al, al
jne 0x902ab2
xor eax, eax
jmp 0x902ad7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x902ae9
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + esi*2]
mov dword [esp + 0x18], edx
jmp 0x902af3
jle 0x902af0
lea ebp, [esi - 1]
jmp 0x902af3
lea ebx, [esi + 1]
cmp ebx, ebp
mov edx, dword [esp + 0x20]
jle 0x902a90
cmp dword [esp + 0x18], 0xffffffff
jne 0x902b74
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor esi, esi
test eax, eax
jbe 0x902a3f
jmp 0x902b24
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x18], 0xffffffff
jne 0x902b74
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x1c]
add eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x902b54
test dl, dl
je 0x902b50
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x902b54
add eax, 2
add ecx, 2
test dl, dl
jne 0x902b34
xor eax, eax
jmp 0x902b59
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x902b69
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + esi*2]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x20]
inc esi
cmp esi, dword [esp + 0x30]
jb 0x902b20
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x902a3f
cmp eax, dword [edi + edx + 0x14]
jge 0x902a3f
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax*4]
cmp eax, edx
jb 0x902c48
mov ecx, dword [esp + 0x34]
add ecx, edx
cmp eax, ecx
jae 0x902c48
push 0x104
add eax, edi
push eax
lea edx, [esp + 0xf8]
push edx
call dword [0x982b4c]
cmp byte [esp + 0xf0], 0
lea esi, [esp + 0xf0]
je 0x902be1
cmp byte [esi], 0x2e
je 0x902bea
inc esi
cmp byte [esi], 0
jne 0x902bd6
cmp byte [esi], 0x2e
jne 0x902d74
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x50]
mov byte [esi], 0
call fcn.0090a3d0
mov dword [esp + 0x200], 0
mov eax, dword [eax]
push eax
call fcn.008547e0
mov edi, eax
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.009098c0
test edi, edi
je 0x902d74
inc esi
push esi
push edi
call fcn.0085e130
jmp 0x902c52
mov eax, ebp
sub eax, dword [edi + edx + 0x10]
mov dword [esp + 0x18], eax
jmp 0x902b7c
test eax, eax
je 0x902d74
add eax, edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x902d74
mov edi, dword [esp + 0x14]
push 0
push edi
call fcn.008eee80
add esp, 8
test al, al
jne 0x902d78
push edi
call fcn.0084e090
add esp, 4
test al, al
jne 0x902d78
cmp byte [ebx + 0x220], al
jne 0x902cf3
mov ecx, 0x99d618
call fcn.008efb60
cmp byte [ebx + 0x220], 0
jne 0x902ce9
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x50]
mov byte [ebx + 0x220], 1
call fcn.0090a360
mov dword [esp + 0x200], 1
mov ecx, eax
call fcn.009098e0
push eax
call fcn.008ee740
add esp, 4
mov dword [ebx + 0x21c], eax
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.009098c0
mov ecx, 0x99d618
call fcn.008efb70
mov eax, dword [ebx + 0x21c]
mov esi, edi
test eax, eax
je 0x902d0c
push ebp
push edi
push eax
call fcn.008eefe0
add esp, 0xc
mov esi, eax
call fcn.00902940
test al, al
je 0x902d70
cmp esi, edi
jne 0x902d70
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], esi
call fcn.0090a360
mov dword [esp + 0x200], 2
mov ecx, eax
call fcn.009098e0
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.0084e060
add esp, 8
mov esi, eax
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.009098c0
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x14]
mov eax, edi
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.0091b0aa
add esp, 0x1f0
ret 0x14