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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x148
call 0x10087d04
pop eax
mov edi, edx
mov ebx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [0x10551ebc]
cmp eax, 5
jb 0x10087d1c
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
mov dword [esp + 4], edi
dec eax
cmp eax, 5
jb 0x10087e2a
mov ecx, dword [0x10410ba0]
test ecx, ecx
je 0x10087e2a
mov al, 1
cmp ecx, 1
je 0x10087d4f
cmp ecx, 2
jne 0x1008835a
mov al, 2
movzx edx, al
mov ecx, 0x10410ba0
call fcn.10109ff0
test al, al
je 0x10087e2a
mov ecx, dword [0x10410ba4]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x10088503
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 0x98], 0x1039ba50
mov dword [esp + 0x9c], 2
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov edi, dword [esp + 4]
lea edx, [esp + 0x48]
lea esi, [esp + 8]
lea eax, [ebx + 0xc]
mov dword [esp + 0xa8], edx
lea edx, [esp + 0x98]
mov dword [esp + 0x78], esi
lea esi, [esp + 0x78]
mov dword [esp + 0xac], 2
mov dword [esp + 0x7c], edx
lea edx, [ecx + 0x2c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], 1
mov dword [esp + 0x80], 0x103986f0
mov dword [esp + 0x68], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], fcn.1002c460
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x10011120
call fcn.1010a850
mov eax, dword [0x1039a830]
movsd xmm0, qword [0x1039a828]
movsd xmm1, qword [0x1039a820]
lea edx, [esp + 0x60]
mov ecx, edi
mov dword [esp + 0x70], eax
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x60], xmm1
call fcn.10023360
test al, al
mov dword [esp + 0x28], ebx
jne 0x10087f02
mov eax, dword [0x10386a5c]
movsd xmm0, qword [0x10386a54]
movsd xmm1, qword [0x10386a4c]
lea edx, [esp + 0x78]
mov ecx, edi
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
call fcn.10023360
test al, al
jne 0x10087f02
mov eax, dword [0x10387c48]
movsd xmm0, qword [0x10387c40]
movsd xmm1, qword [0x10387c38]
lea edx, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x48], xmm1
call fcn.10023360
test al, al
jne 0x10087f02
mov ecx, edi
mov edx, str.keep_aliveclient_tx_closedrequest_canceled
push 0xa
call fcn.100234b0
add esp, 4
test al, al
jne 0x10087f02
mov ecx, edi
mov edx, 0x10387bf0
push 0x10
call fcn.100234b0
add esp, 4
test al, al
je 0x100881ed
mov eax, dword [0x10551ebc]
cmp eax, 4
jb 0x10087f11
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
mov bl, 7
add eax, 0xfffffffe
cmp eax, 4
jb 0x10088001
mov ecx, dword [0x1041117c]
test ecx, ecx
je 0x10088001
mov al, 1
cmp ecx, 1
je 0x10087f44
cmp ecx, 2
jne 0x10088371
mov al, 2
movzx edx, al
mov ecx, 0x1041117c
call fcn.10109ff0
test al, al
je 0x10088001
mov ecx, dword [0x10411180]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x10088514
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 0x98], 0x1037c224
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0xac], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
lea esi, [esp + 8]
lea edx, [esp + 0x98]
mov dword [esp + 0x18], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edx
lea esi, [esp + 0x34]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x3c], 0x1036dbfc
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], edx
lea edx, [esp + 0x1c]
call fcn.1010a850
mov edi, dword [esp + 4]
xor ecx, ecx
test cl, cl
je 0x100883cb
xor eax, eax
cmp byte [edi + 0x40], 0xb
lea ecx, [edi + 0x40]
cmovne eax, ecx
je 0x10088025
movzx ecx, byte [eax]
cmp ecx, 9
jae 0x100881df
cmp dword [edi + 0x60], 0
je 0x1008803e
mov eax, dword [edi + 0x58]
mov bl, 3
add eax, 0x27
cmp eax, 0x3f9c
ja 0x100883cb
cmp dword [edi + 0x70], 0
je 0x10088057
mov eax, dword [edi + 0x68]
mov bl, 3
add eax, 0x2a
cmp eax, 0x3f9c
ja 0x100883cb
cmp dword [edi + 0x80], 0
je 0x10088073
mov eax, dword [edi + 0x78]
mov bl, 3
add eax, 0x25
cmp eax, 0x3f9c
ja 0x100883cb
xor ebx, ebx
cmp dword [edi + 0x28], 0
mov dword [esp], 0
sete bl
add ebx, ebx
nop word cs:[eax + eax]
nop
cmp ebx, 2
jne 0x100880b0
mov eax, dword [esp]
lea ecx, [eax + 1]
cmp ecx, dword [edi + 0x28]
jae 0x10088100
mov esi, dword [edi + 0x20]
mov eax, ecx
mov dword [esp], ecx
jmp 0x1008810c
mov edx, dword [edi + 0x28]
cmp edx, dword [esp]
jbe 0x100884dc
mov esi, dword [edi + 0x20]
test ebx, ebx
je 0x10088109
mov edx, dword [edi + 0x34]
mov ecx, dword [esp + 0x30]
cmp edx, ecx
jbe 0x100884e6
mov ebx, dword [edi + 0x2c]
lea edx, [ecx + ecx*8]
xor eax, eax
cmp dword [ebx + edx*4 + 0x1c], 1
lea edi, [ebx + edx*4]
lea ecx, [ebx + edx*4 + 0x20]
mov ebx, 2
sete al
sub ebx, eax
jmp 0x10088128
xor ecx, ecx
mov ebx, 2
jmp 0x10088134
mov ecx, dword [esp]
imul eax, ecx, 0x38
xor edx, edx
mov ebx, 2
cmp dword [esi + eax + 0x28], 1
lea ecx, [esi + eax + 0x2c]
lea edi, [esi + eax + 0x14]
sete dl
sub ebx, edx
mov eax, dword [ecx]
imul ecx, dword [esp], 0x38
add ecx, esi
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x1008815a
call fcn.10012fc0
mov ecx, dword [edi + 4]
mov edi, dword [esp + 4]
lea eax, [eax + ecx + 0x20]
cmp eax, 0x3f9c
jbe 0x10088090
mov bl, 3
jmp 0x100883cb
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 4]
mov eax, dword [edx + 8]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov bh, byte [edi + 0x9c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
cmp dword [eax + 0x38], ecx
jbe 0x100884f5
mov eax, dword [eax + 0x30]
imul ecx, ecx, 0xf0
cmp dword [eax + ecx], 1
jne 0x100884f5
cmp dword [eax + ecx + 0x30], edx
jne 0x100884f5
movzx esi, byte [eax + ecx + 0x34]
mov bl, 1
cmp esi, 5
ja 0x100883cb
mov edx, dword [esp + 0x2c]
mov dword [esp], eax
lea eax, [eax + ecx + 0x34]
and bh, 1
add edx, dword [esi*4 + 0x1008857c]
mov esi, eax
jmp edx
je 0x10088388
mov ecx, dword [eax + 8]
jmp 0x10088395
mov eax, dword [0x10387c74]
movsd xmm0, qword [0x10387c6c]
movsd xmm1, qword [0x10387c64]
lea edx, [esp + 8]
mov ecx, edi
mov dword [esp + 0x18], eax
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm1
call fcn.1001ea60
mov bl, 0xd
mov cl, 1
test eax, eax
je 0x10088003
cmp dword [eax + 4], 8
jne 0x10088253
mov eax, dword [eax]
cmp eax, str.trailers_8
je 0x10088003
mov edx, 0x69617274
mov esi, 0x7372656c
xor edx, dword [eax]
xor esi, dword [eax + 4]
or esi, edx
je 0x10088003
mov eax, dword [0x10551ebc]
cmp eax, 4
jb 0x10088262
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
mov bl, 7
add eax, 0xfffffffe
cmp eax, 4
jb 0x10088001
mov ecx, dword [0x10411188]
test ecx, ecx
je 0x10088001
mov al, 1
cmp ecx, 1
je 0x10088295
cmp ecx, 2
jne 0x100884c5
mov al, 2
movzx edx, al
mov ecx, 0x10411188
call fcn.10109ff0
test al, al
je 0x10088001
mov ecx, dword [0x1041118c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x10088568
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x34], 0
mov dword [esp + 0x98], 0x1037c224
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0xac], 0
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
lea esi, [esp + 0x34]
lea edx, [esp + 0x98]
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edx
lea esi, [esp + 0x1c]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x24], 0x1036dbfc
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], edx
lea edx, [esp + 0x8c]
jmp 0x10087ff8
mov ecx, 0x10410ba0
call fcn.10109f40
test al, al
jne 0x10087d4f
jmp 0x10087e2a
mov ecx, 0x1041117c
call fcn.10109f40
test al, al
jne 0x10087f44
jmp 0x10088001
movzx ecx, byte [eax + 0x10]
cmp ecx, 0x10
jae 0x10088554
add ecx, 0x27
mov bl, 3
cmp ecx, 0x3f9c
jbe 0x10088025
jmp 0x100883cb
mov ecx, edi
call fcn.10081610
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x10411188
call fcn.10109f40
test al, al
jne 0x10088295
jmp 0x10088001
mov ecx, dword [esp]
push 0x1039852c
jmp 0x100884eb
push 0x1039853c
call fcn.10008590
add esp, 4
ud2
lea ecx, [esp + 0x98]
call fcn.100191c0
ud2
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1039ba60
jmp 0x10088523
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1037c22c
call fcn.1000a9c0
add esp, 4
ud2
mov edx, 0xf
push 0x10387244
call fcn.10008b80
add esp, 4
ud2
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1037c23c
jmp 0x10088523