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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x270
cmp byte [ecx + 0xf0], 0
mov edi, ecx
call 0x55e604
pop eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
je 0x55e622
cmp dword [edi + 0xe4], 0
je 0x55e622
mov byte [esp + 0x14], 4
jmp 0x55ed69
mov ecx, dword [edi + 0xc4]
mov esi, dword [edi + 0xc0]
mov ebx, dword [edi + 0xd4]
mov dword [esp + 4], edi
mov dword [esp + 8], esi
sub esi, ecx
test ebx, ebx
mov eax, ecx
mov dword [esp], ecx
mov dword [esp + 0x28], ebx
je 0x55e677
mov ecx, dword [edi + 0xcc]
mov eax, dword [edi + 0xd0]
xor edx, edx
cmp eax, ecx
mov edi, ecx
mov ebp, ecx
cmovb edi, edx
mov edx, ebx
sub eax, edi
sub ebp, eax
sub edx, ebp
ja 0x55e671
lea ecx, [eax + ebx]
xor edx, edx
mov edi, dword [esp + 4]
jmp 0x55e67d
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebp, dword [edi + 0xc8]
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
lea ecx, [ecx + ecx*4]
lea ebx, [ebp + ecx*8]
lea ecx, [esp + 0x70]
lea eax, [ebp + eax*8]
lea edx, [ebp + edx*8]
mov dword [esp + 0x38], ebp
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], edx
call fcn.005519bf
add esi, eax
jne 0x55e6df
mov eax, dword [edi + 0xb0]
lea ecx, [esp + 0x14]
push dword [esp + 0x24]
push dword [edi + 0xac]
push ecx
call dword [eax + 0x14]
add esp, 0xc
cmp byte [esp + 0x14], 5
je 0x55ed79
jmp 0x55ed69
cmp byte [edi + 0xdc], 0
je 0x55ec80
mov edx, dword [edi + 0xac]
mov eax, dword [edi + 0xb8]
mov ebp, dword [edi + 0xcc]
mov ecx, dword [edi + 0xb0]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0xc], ebp
mov eax, 0xfffffe00
mov dword [esp + eax + 0x270], 0
mov dword [esp + eax + 0x274], 0x7f59e0
add eax, 8
jne 0x55e71d
mov ecx, edx
xor eax, eax
mov esi, 0
sub ecx, dword [esp]
mov dword [esp + 0x40], ecx
je 0x55e768
jb 0x55ee85
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp]
add ecx, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x70], esi
xor esi, esi
mov dword [esp + 0x74], ecx
inc esi
mov ebx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov dword [esp + 0x3c], esi
test ebx, ebx
je 0x55e79a
mov eax, dword [edi + 0xd0]
mov ecx, ebp
mov esi, 0
mov edx, ebp
cmp eax, ebp
cmovb ecx, esi
sub eax, ecx
mov ecx, ebx
sub edx, eax
sub ecx, edx
jbe 0x55e7a0
mov edi, ebp
jmp 0x55e7a5
xor edi, edi
xor ecx, ecx
jmp 0x55e7a9
lea edi, [eax + ebx]
xor ecx, ecx
mov esi, dword [esp + 0x3c]
mov ebx, 0x40
lea edx, [esp + esi*8 + 0x70]
lea eax, [eax + eax*4]
sub ebx, esi
mov dword [esp + 0x34], edx
mov edx, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
lea esi, [ebx + eax*8]
lea eax, [edi + edi*4]
mov edi, ebx
lea ebp, [ebx + eax*8]
lea eax, [ecx + ecx*4]
xor ecx, ecx
lea eax, [ebx + eax*8]
mov ebx, ebp
mov dword [esp + 0x58], eax
cmp esi, ebx
je 0x55e7e6
mov eax, edi
jmp 0x55e7fa
mov ebx, dword [esp + 0x58]
mov eax, esi
mov dword [esp + 0x58], esi
mov esi, edi
cmp edi, ebx
je 0x55e979
cmp edx, ecx
jb 0x55edc5
mov edi, eax
mov eax, dword [esi]
mov eax, dword [eax*4 + 0x55ee98]
add eax, dword [esp + 0x20]
jmp eax
add ecx, dword [esp + 0x3c]
mov edi, dword [esp + 4]
cmp ecx, 0x41
jae 0x55ee18
push ecx
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x70]
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0x74]
call dword [eax + 0x1c]
add esp, 0x14
cmp byte [esp + 0x48], 5
je 0x55ed12
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
cmp al, 4
jne 0x55ed01
xor eax, eax
cmp ebp, dword [esp + 0x40]
mov ecx, 0xff
mov dword [esp + 0x10], ebp
setne al
cmova eax, ecx
test al, al
je 0x55e9fc
mov edx, dword [esp + 0xc]
movzx eax, al
cmp eax, 1
jne 0x55ea1a
mov ecx, dword [esp]
add ecx, ebp
mov eax, ecx
mov dword [esp], ecx
mov dword [edi + 0xc4], ecx
jmp 0x55ebc5
xor eax, eax
mov dword [esp], 0
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc0], eax
mov edx, dword [esp + 0xc]
jmp 0x55ebbd
xor eax, eax
sub ebp, dword [esp + 0x40]
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc0], eax
je 0x55ebc5
mov eax, dword [esp + 0x28]
mov edi, dword [edi + 0xd0]
dec eax
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
je 0x55eddd
xor eax, eax
cmp edi, edx
jb 0x55ea61
mov eax, edx
mov edx, dword [esp + 0x38]
mov ecx, edi
sub ecx, eax
lea eax, [ecx + ecx*4]
lea esi, [edx + eax*8]
mov eax, dword [esi]
mov eax, dword [eax*4 + 0x55eea8]
add eax, dword [esp + 0x20]
jmp eax
mov dword [esp + 8], 0
mov ebx, dword [edi + 0xd4]
xor ecx, ecx
test ebx, ebx
mov dword [esp + 0x28], ebx
je 0x55ebfb
mov eax, dword [edi + 0xd0]
mov ecx, edx
mov esi, 0
mov ebp, dword [esp + 0x10]
cmp eax, edx
cmovb ecx, esi
mov esi, edx
sub eax, ecx
mov ecx, ebx
sub edx, eax
sub ecx, edx
jbe 0x55ec05
mov edx, esi
jmp 0x55ec0a
mov ebp, dword [esp + 0x10]
xor edx, edx
xor eax, eax
jmp 0x55ec0a
lea edx, [eax + ebx]
xor ecx, ecx
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
lea ecx, [ecx + ecx*4]
sub esi, dword [esp]
lea eax, [ebx + eax*8]
lea edx, [ebx + edx*8]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x70]
call fcn.005519bf
add eax, esi
je 0x55e6b4
test ebp, ebp
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 8]
jne 0x55e718
jmp 0x55ed59
mov esi, dword [esp]
mov edx, dword [esp + 8]
cmp edx, esi
jb 0x55ecfa
mov eax, dword [edi + 0xb0]
mov ecx, dword [edi + 0xac]
mov ebx, dword [edi + 0xb8]
mov ebp, dword [eax + 0x10]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
mov eax, edx
mov edi, esi
lea ecx, [ebx + esi]
sub eax, esi
push eax
push ecx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
lea eax, [esp + 0x80]
push eax
call ebp
add esp, 0x14
cmp byte [esp + 0x70], 5
je 0x55ed0e
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
cmp cl, 4
jne 0x55ed1c
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov esi, edi
add esi, eax
cmp edx, esi
mov dword [ecx + 0xc4], esi
je 0x55ed2d
test eax, eax
je 0x55ed55
cmp esi, edx
jbe 0x55eca8
mov ecx, esi
jmp 0x55ee88
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebp
jmp 0x55e6cf
mov edi, dword [esp + 4]
mov byte [esp + 0x14], 5
jmp 0x55e6cf
mov edi, dword [esp + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x55e6cf
mov edi, dword [esp + 4]
xor eax, eax
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc0], eax
lea eax, [esp + 0x14]
push dword [esp + 0x24]
push dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x1c]
jmp 0x55e6c9
mov edi, dword [esp + 4]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x1701
mov eax, dword [esp + 0x14]
cmp al, 4
je 0x55ed7e
movzx ecx, al
cmp ecx, 5
jne 0x55ed94
xor eax, eax
inc eax
jmp 0x55edb8
mov ecx, edi
call fcn.0055eed8
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0055ef69
xor esi, esi
jmp 0x55edb6
mov ecx, dword [esp + 0x18]
lea edi, [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ecx, 9
call fcn.004cbacb
mov ecx, eax
mov edx, edi
mov esi, eax
call fcn.004cf3b7
xor eax, eax
mov edx, esi
add esp, 0x270
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x7b8d68
jmp 0x55edd3
call fcn.00652180
add esp, 4
ud2
mov ecx, 0x7b5b75
mov edx, 0x14
push 0x7b8d78
call fcn.00652640
jmp 0x55edd8
mov edx, 0x40
push 0x7b7640
call fcn.00652260
jmp 0x55edd8
mov ecx, dword [esp]
push 0x7b8e08
jmp 0x55edd3