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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
push edi
cmp byte [esi + 0xdc], 0
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x20], ebp
mov byte [esi + 0xa7], 1
jne 0x427e61
mov eax, dword [esi + 0xac]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp eax, 0x15
ja case.0x427a55.20
jmp dword [eax*4 + 0x428430]
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.004264b0
mov ebp, eax
mov dword [esp + 0x1c], ebp
test ebp, ebp
je 0x427b8c
cmp byte [ebp], 0
je 0x427b8c
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
push ebx
push 0x20
push ebp
mov dword [esp + 0x20], eax
call fcn.00442b20
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42809b
mov byte [edi], 0
inc edi
mov dword [esi + 0x2c], ebp
cmp byte [edi], 0x20
jne 0x427abb
mov eax, edi
sub eax, ebp
cmp eax, ebx
jae 0x427abb
inc edi
inc eax
cmp byte [edi], 0x20
je 0x427ab0
mov eax, edi
sub eax, ebp
cmp eax, ebx
jne 0x427ad5
xor edi, edi
mov dword [esi + 0x34], 0x4b038b
mov ebp, 0x4b03bc
xor ebx, ebx
jmp 0x427b29
mov eax, dword [esp + 0x1c]
mov ebp, edi
lea ecx, [eax - 1]
add ecx, ebx
cmp byte [ecx], 0x20
jne 0x427af4
cmp ecx, edi
jbe 0x427aef
dec ecx
cmp byte [ecx], 0x20
je 0x427ae5
cmp byte [ecx], 0x20
je 0x427afe
cmp ecx, edi
jbe 0x427b10
dec ecx
cmp byte [ecx], 0x20
jne 0x427af4
cmp ecx, edi
jbe 0x427b10
mov byte [ecx], 0
lea eax, [ecx + 1]
sub ecx, edi
mov dword [esi + 0x34], eax
push ecx
jmp 0x427b1c
sub ebx, edi
mov dword [esi + 0x34], 0x4b03bd
add ebx, eax
push ebx
push 0x3f
push edi
call fcn.00442b20
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x48], 0
je 0x427b4a
push esi
mov byte [esi + 0x9c], 1
push ebp
push dword [eax + 0x4c]
mov eax, dword [eax + 0x48]
call eax
add esp, 0xc
mov dword [esi + 0x24], eax
test ebx, ebx
je 0x427b65
lea eax, [esp + 0x24]
mov byte [ebx], 0
push eax
push ecx
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.00428e40
add esp, 0xc
test edi, edi
je 0x427b7a
mov eax, dword [esp + 0x14]
push edi
push esi
push dword [eax + 0x54]
mov eax, dword [eax + 0x50]
call eax
add esp, 0xc
mov dword [esi + 0x30], ebp
mov dword [esi + 0xac], 1
jmp 0x4282de
cmp dword [esi + 0xac], 0
jmp 0x427e07
xor edx, edx
mov ecx, esi
call fcn.004264b0
test eax, eax
jne 0x427bb1
cmp dword [esi + 0xac], 1
jmp 0x427e07
cmp byte [eax], 0
jne 0x427bcb
sub eax, dword [esi + 0x3c]
mov dword [esi + 0xac], 3
mov dword [esi + 0x6c], eax
jmp 0x4282de
mov edx, eax
mov ecx, esi
call fcn.00426cb0
test eax, eax
je 0x4282f4
mov dword [esi + 0xac], 2
jmp 0x4282de
xor edx, edx
mov ecx, esi
call fcn.004264b0
mov edi, eax
test edi, edi
jne 0x427c06
cmp dword [esi + 0xac], 2
jmp 0x427e07
push 1
mov edx, edi
mov ecx, esi
call fcn.00426d50
add esp, 4
test eax, eax
je 0x4282de
cmp byte [edi], 0
jne 0x4282de
sub edi, dword [esi + 0x3c]
mov dword [esi + 0xac], 3
mov dword [esi + 0x6c], edi
jmp 0x4282de
mov ecx, esi
call fcn.00426ea0
cmp dword [esi + 0xac], 0x13
je 0x4282de
mov dword [esi + 0xac], 4
jmp 0x427e54
mov ecx, esi
call fcn.004267d0
cmp dword [esi + 0xac], 0x13
je 0x4282de
mov edi, dword [esi + 0x1c]
test edi, edi
jne 0x427cc1
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x427cbd
mov edx, 0x4abf54
call fcn.00429150
test eax, eax
je 0x427cbd
push str.Expect
mov ecx, esi
call fcn.00424d90
add esp, 4
test eax, eax
je 0x427cbd
mov edx, str.100_continue
mov ecx, eax
call fcn.00429150
test eax, eax
je 0x427cbd
cmp dword [esi + 0x80], 0x19
jb 0x42838b
test edi, edi
je 0x427cf9
mov edi, dword [esi + 0x2c]
mov edx, 0x4ab1d4
mov ecx, edi
call fcn.00429150
test eax, eax
jne 0x427ce4
mov edx, 0x4ab1dc
mov ecx, edi
call fcn.00429150
test eax, eax
je 0x427cf9
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov byte [esi + 0xa5], 1
cmp dword [esi + 0x70], 0
jne 0x427d0a
cmp dword [esi + 0x74], 0
mov eax, 9
je 0x427d0f
mov eax, 6
mov dword [esi + 0xac], eax
jmp 0x427e54
cmp dword [esi + 0x80], 0x19
jne case.0x427a55.10
mov ecx, esi
mov dword [esi + 0xac], 6
call fcn.00424cb0
jmp 0x4282de
cmp dword [esi + 0x5c], 0
je 0x427d57
mov ecx, esi
call fcn.00426830
cmp dword [esi + 0xac], 0x13
je 0x4282de
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
test ecx, ecx
jne 0x427d65
test eax, eax
je 0x427d8d
cmp ecx, 0xffffffff
jne case.0x427a55.10
cmp eax, ecx
jne case.0x427a55.10
cmp dword [esi + 0x5c], 0
jne case.0x427a55.10
cmp byte [esi + 0xa5], 0
je case.0x427a55.10
cmp byte [esi + 0xb8], 0
je 0x427e4a
cmp byte [esi + 0xa5], 0
jne 0x427e4a
mov dword [esi + 0xac], 7
jmp 0x427e54
xor edx, edx
mov ecx, esi
call fcn.004264b0
test eax, eax
jne 0x427dcc
cmp dword [esi + 0xac], 7
jmp 0x427e07
cmp byte [eax], 0
je 0x427e4a
mov edx, eax
mov ecx, esi
call fcn.00426cb0
test eax, eax
je 0x4283a1
mov dword [esi + 0xac], 8
jmp 0x4282de
xor edx, edx
mov ecx, esi
call fcn.004264b0
mov edi, eax
test edi, edi
jne 0x427e2b
cmp dword [esi + 0xac], 8
jne 0x4282de
cmp byte [esi + 0xa5], 0
je case.0x427a55.10
mov edx, 1
mov ecx, esi
call fcn.00424de0
jmp 0x4282de
push 0x10
mov edx, edi
mov ecx, esi
call fcn.00426d50
add esp, 4
test eax, eax
je 0x4282de
cmp byte [edi], 0
jne 0x4282de
mov dword [esi + 0xac], 9
cmp byte [esi + 0xdc], 0
je 0x4282de
mov ecx, esi
call fcn.00426200
mov eax, 1
mov byte [esi + 0xa7], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.004267d0
cmp dword [esi + 0xac], 0x13
je 0x4282de
cmp dword [esi + 0x1c], 0
je case.0x427a55.10
mov ecx, esi
call fcn.004255b0
test eax, eax
jne 0x4283ab
push 0x4ab2e8
jmp 0x428090
mov eax, dword [esi + 0x1c]
mov ecx, esi
cmp dword [eax + 0x14], 0
je 0x427f91
call fcn.00424cb0
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x1c]
mov dword [esi + 0xac], 0x15
test dword [ebx + 0xe4], 0x8000
je 0x427f15
mov edi, dword [ebp]
test edi, edi
je 0x427f07
nop word [eax + eax]
mov ecx, dword [edi + 4]
mov edx, 0x4a677c
call fcn.00429150
test eax, eax
jne 0x427f26
mov edi, dword [edi]
test edi, edi
jne 0x427ef0
push str.Invalid_response_for_upgrade:_application_failed_to_set_the_Upgrade_header__n
push ebx
call fcn.00428de0
add esp, 8
mov edx, 1
mov ecx, esi
call fcn.00424de0
jmp 0x4282de
cmp dword [edi + 8], 0
je 0x427f07
push 8
push 1
call fcn.0044a9b2
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x427f15
mov dword [ebx], esi
mov ecx, esi
mov edi, dword [esi + 0x5c]
mov dword [esi + 0x5c], 0
mov byte [ebx + 5], 1
mov dword [esi + 0xd8], ebx
call fcn.004217d0
mov eax, dword [ebp + 0x14]
push ebx
push dword [esi + 0xa0]
push edi
push dword [esi + 0x3c]
push dword [esi + 0x24]
push esi
push dword [ebp + 0x18]
call eax
mov ecx, dword [esi + 0x1c]
add esp, 0x1c
test ecx, ecx
je 0x4282de
mov dword [esi + 0x1c], 0
call fcn.00424ae0
jmp 0x4282de
call fcn.00424cb0
xor eax, eax
cmp byte [esi + 0xb8], al
setne al
lea eax, [eax*2 + 0xd]
mov dword [esi + 0xac], eax
jmp 0x4282de
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0xc], 0
je 0x427fc2
add eax, 0x1c
push eax
call ecx
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x38], 0
jne 0x427fd1
cmp dword [eax + 0x3c], 0
je 0x428030
mov ecx, esi
call fcn.00424e80
cmp eax, 1
jne case.0x427a55.10
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0xc], 0
je 0x427ff0
add eax, 0x1c
push eax
call ebx
mov ecx, esi
mov dword [esi + 0xac], 0xc
call fcn.00424c40
jmp case.0x427a55.10
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0xc], 0
je 0x428015
add eax, 0x1c
push eax
call ecx
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + 0x38]
mov ecx, dword [eax + 0x3c]
test edx, edx
jne 0x428026
test ecx, ecx
je 0x428030
cmp dword [esi + 0x78], edx
jne 0x42804b
cmp dword [esi + 0x7c], ecx
jne 0x42804b
cmp dword [eax + 0xc], 0
je 0x42803c
add eax, 0x1c
push eax
call ebx
mov dword [esi + 0xac], 0x10
jmp 0x4282de
mov ecx, esi
call fcn.00424fc0
cmp eax, 1
mov eax, dword [esi + 0x1c]
jne 0x4283c1
cmp dword [eax + 0xc], 0
je 0x42806a
add eax, 0x1c
push eax
call ebx
mov ecx, esi
mov dword [esi + 0xac], 0xe
call fcn.00424c40
jmp 0x4282de
mov ecx, esi
call fcn.004255b0
test eax, eax
jne 0x4280ac
push str.Closing_connection__failed_to_create_response_header__n
push dword [esi + 0x10]
call fcn.00428de0
add esp, 8
mov edx, 1
mov ecx, esi
call fcn.00424de0
jmp 0x4282de
cmp byte [esi + 0xb8], 0
je 0x4280cc
mov eax, dword [esi + 0x64]
cmp eax, dword [esi + 0x68]
je 0x4280cc
mov dword [esi + 0xac], 0x11
jmp 0x4282de
mov dword [esi + 0xac], 0x12
jmp 0x4282de
cmp dword [esi + 0xb4], 0x66
jne 0x428102
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xac], 4
call fcn.00424ae0
mov dword [esi + 0x1c], 0
jmp 0x4282de
mov ecx, esi
call fcn.00424cb0
mov ecx, dword [esi + 0x1c]
call fcn.00424ae0
mov dword [esi + 0x1c], 0
cmp dword [ebp + 0x38], 0
je 0x428140
cmp byte [esi + 0x9c], 0
je 0x428140
push 0
lea eax, [esi + 0x24]
mov byte [esi + 0x9c], 0
push eax
mov eax, dword [ebp + 0x38]
push esi
push dword [ebp + 0x3c]
call eax
add esp, 0x10
cmp dword [esi + 0x38], 1
jne 0x4281f1
cmp byte [esi + 0xa5], 0
jne 0x4281f1
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x3c]
mov ebp, dword [esi + 0x5c]
mov edi, dword [esi + 0x20]
mov dword [esi + 0x34], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x6c], 0
mov dword [esi + 0x38], 0
mov eax, dword [eax + 0x6c]
shr eax, 1
mov dword [esp + 0x1c], eax
test ebx, ebx
je 0x4281b4
mov eax, dword [edi]
cmp ebx, eax
je 0x4281b4
test ebp, ebp
je 0x4281b2
push ebp
push ebx
push eax
call fcn.00442570
add esp, 0xc
mov ebx, dword [edi]
mov eax, dword [edi + 4]
mov dword [edi + 0xc], eax
cmp eax, ebp
jbe 0x4281d0
sub eax, ebp
push eax
mov eax, dword [edi]
add eax, ebp
push 0
push eax
call fcn.00443980
add esp, 0xc
test ebx, ebx
je 0x4281e1
mov eax, dword [esp + 0x1c]
add eax, 7
and eax, 0xfffffff8
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x3c], ebx
mov eax, dword [eax + 0x6c]
shr eax, 1
mov dword [esi + 0x58], eax
jmp 0x428247
xor edx, edx
mov ecx, esi
call fcn.00424de0
mov edi, dword [esi + 0x20]
test edi, edi
je 0x42822b
cmp dword [edi + 0x10], 0
jne 0x428213
push dword [edi]
call fcn.00446c84
add esp, 4
jmp 0x428222
push 0x8000
push 0
push dword [edi]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push edi
call fcn.00446c84
add esp, 4
mov dword [esi + 0x20], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov byte [esi + 0x9c], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x80], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 0
mov byte [esi + 0xb8], 0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
cmp byte [esi + 0xdc], 0
jne 0x427e61
mov ebp, dword [esp + 0x20]
jmp 0x427a3a
push 0x4ab1e0
mov edx, 0x190
mov ecx, esi
call fcn.004260f0
add esp, 4
cmp byte [esi + 0xdc], 0
jne 0x427e61
mov edi, dword [esi + 0x90]
mov ebx, dword [esi + 0x94]
test edi, edi
jne 0x42832d
test ebx, ebx
je 0x427e61
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, dword [0x4b0740]
push 0
sbb edx, dword [0x4b0744]
push 0x3e8
push edx
push eax
call fcn.0042bfb0
sub eax, dword [esi + 0x88]
sbb edx, dword [esi + 0x8c]
cmp ebx, edx
jg 0x427e61
jl 0x42836b
cmp edi, eax
jae 0x427e61
mov edx, 2
mov ecx, esi
call fcn.00424de0
mov eax, 1
mov byte [esi + 0xa7], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
mov dword [esi + 0xac], 5
call fcn.00424c40
jmp case.0x427a55.10
push str._html__head__title_Request_malformed__title___head__body_Your_HTTP_request_was_syntactically_incorrect.__body___html_
jmp 0x4282f9
mov ecx, esi
mov dword [esi + 0xac], 0xa
call fcn.00424c40
jmp case.0x427a55.10
add eax, 0x1c
push eax
call ebx
jmp case.0x427a55.10
mov ecx, esi
call fcn.00427730
xor eax, eax
pop edi
mov byte [esi + 0xa7], al
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4ab5b4
push 0xe76
push 0x4ab668
push 0x4ab6d8
push 2
call fcn.00449f5a
add esp, 4
push eax
call fcn.00408050
add esp, 0x14
push 2
call fcn.00449f5a
add esp, 4
push eax
call fcn.0044a5b8
add esp, 4
call fcn.0044ca25
nop
pop esp
jp 4359285
add byte [eax - 0x14ffbd85], bl
jnp 0x42847d
add byte [edx], bh
jl 0x428481
add byte [ebp + 0x7c], bl
inc edx
add byte [edx], bl
jge 0x428489
add byte [0xb600427d], bh
jge 0x428491
add cl, dh
jge 0x428495
add byte [esi + edi*2 + 0x42], bh
add byte [eax], cl
add dword [edx], 0xffffffb3
jle 0x4284a1
add byte [eax], cl
add dword [edx], 0xffffffb3
jg 0x4284a9
add byte [eax], cl
add dword [edx], 6
add byte [edx], 0x80
add byte [edx], 8
add dword [edx], 0xffffffdb
add byte [edx], 0xcc
add dword [edx], 0xfffffff0
add dword [edx], 0x68
jle 0x4284c9
add ah, cl
int3
push ebp
push edi
mov edi, ecx
mov ebp, edx
test edi, edi
je 0x428605
mov ebx, dword [esp + 0x10]
and al, 0x10
test ebx, ebx
je 0x428605
add byte [eax], al
cmp dword [edi + 0x1c], 0
jne 0x428605
mov eax, dword [edi + 0xac]
cmp eax, 4
je 0x4284c9
cmp eax, 9
jne 0x428605
push esi
mov esi, dword [edi + 0x10]
cmp byte [esi + 0xc4], 0
jne 0x4285fb
cmp byte [edi + 0xdc], 0
jne 0x42850f
test dword [esi + 0xe4], 8
je 0x42850f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [edi + 0x54]
je 0x42850f
push str.Attempted_to_queue_response_on_wrong_thread__n
push esi
call fcn.00428de0
add esp, 8
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
ret
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x428537
test dword [esi + 0xe4], 0x8000
jne 0x428537
push str.Attempted_upgrade_connection_on_daemon_without_MHD_ALLOW_UPGRADE_option__n
push esi
call fcn.00428de0
add esp, 8
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
ret
cmp ebp, 0x65
je 0x428555
test eax, eax
je 0x428555
push str.Application_used_invalid_status_code_for_upgrade_response__n
push esi
call fcn.00428de0
add esp, 8
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
ret
lea esi, [ebx + 0x1c]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [ebx + 0x58]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x2c]
mov dword [edi + 0x1c], ebx
mov dword [edi + 0xb4], ebp
test esi, esi
je 0x428589
mov edx, str.HEAD
mov ecx, esi
call fcn.00429150
test eax, eax
jne 0x4285a1
cmp ebp, 0xc8
jb 0x4285a1
cmp ebp, 0xcc
je 0x4285a1
cmp ebp, 0x130
jne 0x4285ad
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [edi + 0x7c], eax
cmp dword [edi + 0xac], 4
jne 0x4285eb
test esi, esi
je 0x4285eb
mov edx, str.POST
mov ecx, esi
call fcn.00429150
test eax, eax
jne 0x4285da
mov edx, 0x4abdac
mov ecx, esi
call fcn.00429150
test eax, eax
je 0x4285eb
mov byte [edi + 0xa5], 1
mov dword [edi + 0xac], 9
cmp byte [edi + 0xa7], 0
jne 0x4285fb
mov ecx, edi
call fcn.00427a10
pop esi
pop edi
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop ebp
xor eax, eax
pop ebx
ret