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

Disassembly:
push ebp
push edi
mov ebp, ecx
push esi
push ebx
mov esi, edx
mov ebx, eax
sub esp, 0x1c
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x481970
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0xa4], 9
mov byte [ebx + 0x9d], 1
mov dword [esp + 0xc], ebp
mov dword [esp + 8], esi
mov dword [esp + 4], str.Error_processing_request__HTTP_response_code_is__u____s__._Closing_connection._n
mov dword [esp], eax
call fcn.00488450
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x4818ea
mov dword [esp], eax
call sym.xmrig.exe_MHD_destroy_response
mov dword [ebx + 0x1c], 0
mov edx, ebp
mov edi, dword [edx]
add edx, 4
lea eax, [edi - 0x1010101]
not edi
and eax, edi
and eax, 0x80808080
je 0x4818ec
mov ecx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
sub edx, ebp
mov dword [esp], edx
call sym.xmrig.exe_MHD_create_response_from_buffer
test eax, eax
mov edi, eax
je 0x481943
mov edx, dword [ebx + 0x1c]
test edx, edx
je 0x481a10
mov dword [esp], edi
call sym.xmrig.exe_MHD_destroy_response
mov dword [ebx + 0x38], 0xffffffff
mov eax, ebx
call fcn.0047d020
test eax, eax
je 0x481980
mov dword [ebx + 0xa4], 0xa
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [eax + 0x34], str.HTTP_1.0
jmp 0x4818a8
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], str.Closing_connection__failed_to_create_response_header__n
mov dword [esp], eax
call fcn.00488450
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0xa4], 0x13
mov dword [ebx + 0xa8], 3
mov edi, dword [ebx + 0x1c]
test byte [esi + 0xdd], 0x10
je 0x481a70
test edi, edi
je 0x4819cd
mov dword [ebx + 0x1c], 0
mov dword [esp], edi
call sym.xmrig.exe_MHD_destroy_response
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4819f8
cmp byte [ebx + 0x94], 0
je 0x4819f8
lea edx, [ebx + 0x24]
mov dword [esp + 0xc], 1
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov edx, dword [esi + 0x3c]
mov dword [esp], edx
call eax
mov byte [ebx + 0x94], 0
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0xa4]
cmp eax, 4
je 0x481a24
cmp eax, 9
jne 0x481943
mov ebp, dword [ebx + 0x10]
movzx eax, byte [ebp + 0xc4]
test al, al
jne 0x481943
cmp byte [ebx + 0xd4], 0
jne 0x481a90
test byte [ebp + 0xdc], 8
je 0x481a90
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [ebx + 0x54]
je 0x481a90
mov dword [esp + 4], str.Attempted_to_queue_response_on_wrong_thread__n
mov dword [esp], ebp
call fcn.00488450
jmp 0x481943
mov eax, dword [ebx + 0x98]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_shutdown]
sub esp, 8
jmp 0x4819ba
mov eax, dword [edi + 0x14]
test eax, eax
je 0x481ab5
test byte [ebp + 0xdd], 0x80
je 0x481b10
mov dword [esp + 4], str.Application_used_invalid_status_code_for_upgrade_response__n
mov dword [esp], ebp
call fcn.00488450
jmp 0x481943
mov dword [esp], edi
call fcn.0048af90
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0xac], esi
test eax, eax
je 0x481af6
mov dword [esp + 4], str.HEAD
mov dword [esp], eax
call fcn.00488ca0
test eax, eax
je 0x481aed
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], edx
cmp dword [ebx + 0xa4], 4
je 0x481b25
cmp byte [ebx + 0x9f], 0
jne 0x481943
mov dword [esp], ebx
call fcn.0047f2b0
jmp 0x481943
mov dword [esp + 4], str.Attempted_upgrade_connection_on_daemon_without_MHD_ALLOW_UPGRADE_option__n
mov dword [esp], ebp
call fcn.00488450
jmp 0x481943
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x481af6
mov dword [esp + 4], str.POST
mov dword [esp], eax
call fcn.00488ca0
test eax, eax
je 0x481b53
mov byte [ebx + 0x9d], 1
mov dword [ebx + 0xa4], 9
jmp 0x481af6
mov eax, dword [ebx + 0x2c]
mov dword [esp + 4], 0x548f8c
mov dword [esp], eax
call fcn.00488ca0
test eax, eax
jne 0x481b40
jmp 0x481af6