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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x877b7c
sub esp, 0x60
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x877ac5
lea edi, [esp + 0x54]
lea esi, [esp + 0x68]
call fcn.004612e2
movzx ecx, byte [esp + 0x54]
cmp cl, 1
jne 0x877a7d
mov byte [esp + 0x54], 2
lea edi, [esp + 0x68]
lea esi, [esp + 0x54]
call fcn.004612e2
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x10]
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x40], ebx
mov edx, dword [edx + 0x24]
mov dword [esp + 0x34], edx
xor eax, eax
jmp 0x8771dd
inc eax
cmp eax, edx
jge 0x8773e3
mov ebp, dword [ebx + eax*4]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xc]
test esi, esi
jbe 0x877b68
mov esi, dword [ebp + 4]
lea edi, [0xc8dd60]
cmp dword [ebp], edi
jne 0x8773d9
jne 0x8771dc
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0xab48e0]
mov dword [esp], edx
mov ebx, dword [0x10e366c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004109e0
movzx eax, byte [esp + 0x14]
test al, al
je 0x8773cc
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x10]
mov ebx, dword [ebx + 0x24]
dec ebx
mov ebp, dword [esp + 0x24]
cmp ebp, ebx
jl 0x8773bf
cmp byte [esp + 0x68], 7
jne 0x877283
cmp byte [esp + 0x69], 3
jne 0x877283
mov ebx, dword [esp + 0x30]
cmp ebx, 4
jne 0x877283
mov esi, dword [esp + 0x38]
cmp dword [esi], 0x6c6d7468
je 0x87729a
mov eax, ebp
mov ecx, edx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
lea edi, [0xc8dd60]
jmp 0x8771dc
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.00409480
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea ebx, [0xaa9660]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edx
lea edx, [0xbb7f61]
mov dword [esp], edx
mov dword [esp + 4], 0x2c
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004eeb30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea edx, [0xb26300]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax], 0xb
lea ecx, [0xc8dba0]
mov dword [eax + 4], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x8773ad
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x87739b
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x18], ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0x78], 0x18
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x3c]
call fcn.00460b40
mov eax, ecx
jmp 0x877370
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.00460b40
mov eax, ecx
jmp 0x877343
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
jmp 0x87729a
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x24]
jmp 0x877283
mov esi, 0
jmp 0x877208
lea eax, [0xaa9660]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 3
call fcn.00446f30
mov edi, dword [esp + 0xc]
movzx eax, byte [esp + 0x68]
cmp al, 9
ja 0x87795d
cmp al, 6
ja 0x87764f
test al, al
jne 0x877587
mov dword [edi + 4], 0x1a
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877577
lea ecx, [0xba4c16]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
movzx edx, byte [esp + 0x69]
test dl, dl
jne 0x877485
mov edx, dword [esp + 0x64]
mov dword [esp], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0087b270
lea edi, [esp + 0x78]
lea esi, [esp + 0x68]
call fcn.004612e2
add esp, 0x60
ret
mov dword [esp + 0x20], eax
cmp dl, 3
jne 0x877501
lea edx, [eax + 1]
cmp ecx, edx
jb 0x8774ce
lea ebx, [edi + eax*8 + 4]
mov dword [ebx], 0x1d
mov ebx, dword [0x10fd360]
lea ebp, [edi + eax*8]
test ebx, ebx
jne 0x8774b9
lea eax, [0xba80d4]
mov dword [ebp], eax
mov eax, edx
jmp 0x877454
mov eax, edi
mov edi, ebp
mov ebx, eax
lea eax, [0xba80d4]
call fcn.00460b40
mov edi, ebx
jmp 0x8774b5
lea ebx, [0xaa9660]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
jmp 0x877495
lea edx, [eax + 1]
cmp ecx, edx
jb 0x877544
lea ebx, [edi + eax*8 + 4]
mov dword [ebx], 0x1a
mov ebx, dword [0x10fd360]
lea ebp, [edi + eax*8]
test ebx, ebx
jne 0x87752f
lea eax, [0xba4bfc]
mov dword [ebp], eax
mov eax, edx
jmp 0x877454
mov eax, edi
mov edi, ebp
mov ebx, eax
lea eax, [0xba4bfc]
call fcn.00460b40
mov edi, ebx
jmp 0x877528
lea ebx, [0xaa9660]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
jmp 0x877508
lea eax, [0xba4c16]
call fcn.00460b40
jmp 0x877441
cmp al, 2
ja 0x8775c6
mov byte [esp + 0x68], 2
mov dword [edi + 4], 0x1d
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x8775b9
lea ecx, [0xba80b7]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba80b7]
call fcn.00460b40
jmp 0x8775aa
cmp al, 6
jne 0x877600
mov dword [edi + 4], 0x1c
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x8775f3
lea ecx, [0xba6dd4]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba6dd4]
call fcn.00460b40
jmp 0x8775e4
cmp al, 5
jne 0x87763a
mov dword [edi + 4], 0x1d
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x87762d
lea ecx, [0xba807d]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba807d]
call fcn.00460b40
jmp 0x87761e
lea ecx, [eax - 0xe]
cmp cl, 1
jbe 0x877605
lea ecx, [eax - 0x16]
cmp cl, 1
jbe 0x877605
jmp 0x877ad6
cmp al, 7
jne 0x877660
xor eax, eax
mov ecx, 3
jmp 0x87744b
cmp al, 8
jne 0x877928
movzx ecx, byte [esp + 0x6a]
cmp cl, 1
ja 0x8777d0
test cl, cl
jne 0x8777c9
mov dword [edi + 4], 0x18
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x8777b9
lea ecx, [0xba2afa]
mov dword [edi], ecx
mov eax, 1
mov dword [esp + 0x34], eax
movzx ecx, byte [esp + 0x68]
add ecx, 0xffffffef
cmp cl, 1
ja 0x877738
lea ecx, [eax + 1]
cmp ecx, 3
ja 0x877701
mov edx, 3
lea ebx, [edi + eax*8 + 4]
mov dword [ebx], 0x19
mov ebx, dword [0x10fd360]
lea ebp, [edi + eax*8]
test ebx, ebx
jne 0x8776ec
lea ebx, [0xba3c0b]
mov dword [ebp], ebx
mov eax, ecx
mov ecx, edx
jmp 0x87744b
mov eax, edi
mov edi, ebp
mov ebx, eax
lea eax, [0xba3c0b]
call fcn.00460b40
mov edi, ebx
jmp 0x8776e3
lea edx, [0xaa9660]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], ecx
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
jmp 0x8776c3
lea ecx, [eax + 1]
cmp ecx, 3
ja 0x877782
mov edx, 3
lea ebx, [edi + eax*8 + 4]
mov dword [ebx], 0x1c
mov ebx, dword [0x10fd360]
lea ebp, [edi + eax*8]
test ebx, ebx
jne 0x87776a
lea ebx, [0xba6e0c]
mov dword [ebp], ebx
jmp 0x8776e3
mov eax, edi
mov edi, ebp
mov ebx, eax
lea eax, [0xba6e0c]
call fcn.00460b40
mov edi, ebx
jmp 0x8776e3
lea edx, [0xaa9660]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], ecx
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
jmp 0x877745
lea eax, [0xba2afa]
call fcn.00460b40
jmp 0x87769c
xor eax, eax
jmp 0x8776a1
cmp cl, 2
jne 0x87780a
mov dword [edi + 4], 0x19
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x8777fd
lea ecx, [0xba3c24]
mov dword [edi], ecx
mov edx, 3
mov ecx, 1
jmp 0x8776e3
lea eax, [0xba3c24]
call fcn.00460b40
jmp 0x8777ee
cmp cl, 3
jne 0x877b36
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea edx, [0xb3af80]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
lea edx, [0xbb9c6f]
mov dword [esp], edx
mov dword [esp + 4], 0x2f
lea edx, [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004eeb30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea edx, [0xb26300]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax], 1
lea ecx, [0xc8dba0]
mov dword [eax + 4], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877916
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877904
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x18], ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0x78], 0x18
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x3c]
call fcn.00460b40
mov eax, ecx
jmp 0x8778d9
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.00460b40
mov eax, ecx
jmp 0x8778ac
mov dword [edi + 4], 0x1c
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877950
lea ecx, [0xba6df0]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba6df0]
call fcn.00460b40
jmp 0x877941
cmp al, 0xd
ja 0x877a1d
cmp al, 0xa
jne 0x8779a5
mov dword [edi + 4], 0x1b
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877998
lea ecx, [0xba5b11]
mov dword [edi], ecx
mov byte [esp + 0x6b], 1
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba5b11]
call fcn.00460b40
jmp 0x877984
cmp al, 0xc
ja 0x8779df
mov dword [edi + 4], 0x1b
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x8779d2
lea ecx, [0xba5af6]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba5af6]
call fcn.00460b40
jmp 0x8779c3
cmp al, 0xd
jne 0x877600
mov dword [edi + 4], 0x1e
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877a10
lea ecx, [0xba95ba]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba95ba]
call fcn.00460b40
jmp 0x877a01
cmp al, 0x10
jne 0x877a57
mov dword [edi + 4], 0x1d
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x877a4a
lea ecx, [0xba809a]
mov dword [edi], ecx
mov eax, 1
mov ecx, 3
jmp 0x87744b
lea eax, [0xba809a]
call fcn.00460b40
jmp 0x877a3b
lea ecx, [eax - 0x11]
cmp cl, 4
jbe 0x877669
cmp al, 0x18
jne 0x877600
lea edi, [esp + 0x78]
lea esi, [esp + 0x68]
call fcn.004612e2
add esp, 0x60
ret
cmp cl, 3
jne 0x877a91
mov byte [esp + 0x54], 2
mov byte [esp + 0x58], 0
jmp 0x8771b6
cmp cl, 4
jne 0x8771b6
movzx eax, byte [esp + 0x58]
cmp eax, 6
jae 0x877b71
lea ecx, [0x10793a4]
movzx ecx, byte [ecx + eax]
mov byte [esp + 0x54], cl
mov byte [esp + 0x55], 3
mov byte [esp + 0x58], 0
jmp 0x8771b6
lea edi, [esp + 0x78]
lea esi, [esp + 0x68]
call fcn.004612e2
add esp, 0x60
ret
mov byte [esp], al
call fcn.0087e5b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0xb9bf24]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x11
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0xaa9660]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433120
mov byte [esp], cl
call fcn.00883740
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0xaa9660]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433120
xor eax, eax
mov ecx, esi
call fcn.00460bc0
mov ecx, 6
call fcn.00460bc0
nop
call fcn.0045f5f0
jmp fcn.00877150