Function at 0x43aae2
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe8
mov edi, edx
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [esp + 0xa0]
mov dword [edx], 1
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov word [edx + 0xc], 0
lea esi, [esp + 0x60]
mov ecx, esi
call fcn.00430c31
mov eax, dword [esi + 4]
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
test eax, eax
je 0x43abcd
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
mov esi, dword [ebp + 8]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
mov ecx, esi
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 0x2c], eax
push esi
push edi
mov dword [esp + 0x10], edx
push edx
call fcn.004b64b0
add esp, 0xc
lea ebx, [esp + 0xa0]
mov ecx, ebx
mov dword [esp + 0x18], edi
mov edx, edi
push 3
push str.:__assertion_failed:__self.serialization_scheme_end_as_usize.._.starts_with__:____
mov edi, esi
push esi
call fcn.0040e9c0
add esp, 0xc
lea esi, [esp + 0x30]
mov ecx, esi
mov edx, ebx
call fcn.0043a751
cmp dword [esi], 0
je 0x43abff
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x43aca9
mov edx, edi
cmp ebx, edi
mov ecx, dword [esp + 0x18]
jae 0x43acb9
cmp byte [ecx + ebx], 0xbf
jle 0x43b650
mov eax, ebx
jmp 0x43acc3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.0046b083
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4f680c
mov dword [ebx], 0x80000000
xor ebx, ebx
mov edi, dword [ebp + 0x14]
jmp 0x43b4df
lea eax, [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0x4a5dc5
lea edx, [esp + 0xa0]
mov dword [edx], str.https:__
xor eax, eax
inc eax
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
mov dword [edx + 8], esi
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x3c]
call fcn.004017c0
cmp dword [esp + 0x2c], 0
je 0x43ac51
push dword [esp + 8]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
lea esi, [esp + 0xa0]
mov ecx, esi
mov dword [esp + 8], edx
push 3
push str.:__assertion_failed:__self.serialization_scheme_end_as_usize.._.starts_with__:____
mov dword [esp + 0x18], eax
push eax
call fcn.0040e9c0
add esp, 0xc
lea edi, [esp + 0x30]
mov ecx, edi
mov edx, esi
call fcn.0043a751
mov ebx, dword [edi]
test ebx, ebx
je 0x43ac99
mov ebx, dword [esp + 0x34]
mov ecx, 0x5215f4
mov eax, 5
mov edx, dword [esp + 0x10]
jmp 0x43acc3
mov ebx, 3
mov dword [esp], 0
mov edx, edi
jmp 0x43accf
jne 0x43b650
mov ebx, edx
mov eax, edx
add ebx, 3
mov dword [esp + 0x18], ecx
mov dword [esp], eax
je 0x43acf9
mov esi, edx
mov eax, edx
sub eax, ebx
jbe 0x43acf3
mov ecx, dword [esp + 8]
cmp byte [ecx + ebx], 0xbf
jg 0x43acf5
mov ecx, dword [esp + 8]
mov edx, esi
push 0x4f3d58
push esi
push ebx
call fcn.004cbd80
jne 0x43ace1
mov edx, eax
jmp 0x43acfb
xor ebx, ebx
add ebx, dword [esp + 8]
mov ecx, ebx
push 0x3a
mov esi, edx
call 0x43b689
add esp, 4
test eax, eax
je 0x43ad6d
mov edi, edx
mov dword [esp + 4], edx
mov dword [esp + 0xc], ebx
mov ecx, ebx
mov dword [esp + 0x10], esi
mov edx, esi
push 0x2f
call 0x43b689
add esp, 4
test eax, eax
je 0x43adbd
mov esi, edx
test edi, edi
mov eax, dword [esp + 0x10]
je 0x43ae3a
cmp edi, eax
jae 0x43ae34
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
cmp byte [edx + ecx], 0xbf
jg 0x43ae3a
mov ecx, dword [esp + 0xc]
mov edx, eax
push 0x4f3d78
jmp 0x43b670
mov eax, dword [esp]
cmp eax, 6
jb 0x43adff
mov edi, ebx
lea ebx, [esp + 0xa0]
mov ecx, ebx
mov edx, dword [esp + 0x18]
push 5
push 0x5215f4
push eax
call fcn.0040e9c0
add esp, 0xc
lea ecx, [esp + 0x30]
mov edx, ebx
mov ebx, edi
call fcn.0043a751
lea eax, [esp + 0x30]
cmp dword [eax], 0
mov edx, esi
jne 0x43af54
mov ax, 0x50
jmp 0x43af58
test edi, edi
mov ecx, dword [esp]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp], ecx
je 0x43ade5
cmp edi, eax
jae 0x43af28
mov edx, dword [esp + 4]
cmp byte [ebx + edx], 0xbf
jle 0x43b667
inc edi
mov edx, eax
sub edx, edi
jbe 0x43aee6
cmp byte [ebx + edi], 0xbf
jg 0x43aeee
jmp 0x43b658
mov cx, 0x50
mov dword [esp + 0x10], ecx
cmp eax, 5
jne 0x43af24
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
bswap ecx
cmp ecx, 0x68747470
jne 0x43af40
movzx ecx, byte [eax + 4]
mov eax, 0x73
sub eax, ecx
jmp 0x43af4e
jne 0x43ad5d
mov ecx, eax
test esi, esi
je 0x43ae64
mov ecx, eax
sub ecx, esi
jbe 0x43ae62
mov edx, dword [esp + 0xc]
cmp byte [edx + esi], 0xbf
jg 0x43ae64
mov ecx, dword [esp + 0xc]
mov edx, eax
push 0x4f3d88
push eax
push esi
call fcn.004cbd80
jne 0x43ae50
inc edi
mov edx, esi
sub edx, edi
jb 0x43aea2
test edi, edi
je 0x43ae81
cmp edi, eax
jae 0x43ae7f
mov ebx, dword [esp + 0xc]
cmp byte [ebx + edi], 0xc0
jge 0x43ae81
jmp 0x43aea2
jne 0x43aea2
mov ebx, eax
mov eax, dword [esp + 0xc]
add eax, esi
mov dword [esp + 0x1c], eax
test esi, esi
je 0x43aeb6
mov eax, ebx
cmp ebx, esi
jbe 0x43aeb4
mov eax, dword [esp + 0x1c]
cmp byte [eax], 0xbf
mov eax, ebx
jg 0x43aeb6
mov ecx, dword [esp + 0xc]
mov edx, eax
push 0x4f3d98
push esi
push edi
call fcn.004cbd80
jne 0x43aea2
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, ebx
add ecx, edi
call fcn.0040f4c0
mov ecx, eax
shr ecx, 0x10
test al, 1
mov eax, 0x50
cmove eax, ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp]
mov edi, dword [esp + 4]
jmp 0x43afbf
jne 0x43b658
mov edi, eax
mov esi, dword [esp + 4]
mov ecx, ebx
add ecx, edi
call fcn.0040f4c0
mov ecx, eax
shr ecx, 0x10
test al, 1
mov eax, 0x50
cmove eax, ecx
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0x52187c
mov edi, esi
jmp 0x43afbc
mov edx, esi
jmp 0x43af5c
jne 0x43b667
mov edi, eax
inc edi
jne 0x43b545
xor edx, edx
dec edx
xor edi, edi
mov esi, eax
jmp 0x43aef2
xor eax, eax
cmp ecx, 0x68747471
adc eax, 0xffffffff
or eax, 1
test eax, eax
mov edx, esi
jne 0x43af5c
mov ax, 0x1bb
mov dword [esp + 0x10], eax
mov ecx, ebx
push 0x2f
mov edi, edx
call 0x43b689
add esp, 4
test eax, eax
je 0x43afa1
mov ecx, edx
test edx, edx
je 0x43afb2
mov edx, esi
mov eax, esi
sub eax, ecx
jbe 0x43b523
mov edi, eax
mov eax, ecx
cmp byte [ebx + ecx], 0xbf
mov esi, dword [esp]
jle 0x43b67b
mov ecx, ebx
add ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edi
mov edi, eax
jmp 0x43afbf
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0x52187c
jmp 0x43afbc
xor edi, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], esi
mov esi, dword [esp]
mov dword [esp], esi
mov ecx, esi
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 0xc], eax
mov dword [esp + 0x5c], edx
push esi
push dword [esp + 0x1c]
push edx
call fcn.004b64b0
add esp, 0xc
mov ecx, edi
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 0x18], eax
mov eax, edi
mov dword [esp + 4], edi
mov edi, edx
push eax
push ebx
push edx
call fcn.004b64b0
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov ecx, ebx
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 0x58], eax
mov esi, edx
push ebx
push dword [esp + 0x20]
push edx
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edi
mov ecx, dword [esp + 4]
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x10]
mov word [esp + 0x9c], ax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], ebx
cmp dword [esp + 0x2c], 0
mov esi, ecx
mov ebx, eax
je 0x43b09b
push dword [esp + 8]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
add eax, esi
lea edx, [esp + 0xa0]
mov dword [edx], 1
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov word [edx + 0xc], 0
lea esi, [esp + 0x6c]
mov ecx, esi
call fcn.00430c31
movzx eax, bx
push 0
push eax
push dword [esi + 4]
mov esi, dword [esp + 0x2c]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
test eax, eax
je 0x43b160
mov dword [esp + 8], eax
xor edi, edi
inc edi
lea esi, [esp + 0xa0]
mov dword [esi], edi
mov eax, 0x4f3dc8
mov dword [esi + 4], eax
lea eax, [0x4f3dcb]
mov dword [esi + 8], eax
xor ebx, ebx
mov word [esi + 0xc], bx
lea ecx, [esp + 0x48]
mov edx, esi
call fcn.00430c31
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
add ecx, eax
mov dword [esi], edi
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov word [esi + 0xc], bx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0xa0]
call fcn.00430c31
cmp dword [esp + 0x80], 5
jne 0x43b19d
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
bswap ecx
cmp ecx, 0x68747470
jne 0x43b1b0
movzx eax, byte [eax + 4]
add eax, 0xffffff8d
jmp 0x43b1bd
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.0046b083
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x4f680c
mov dword [ecx], 0x80000000
xor ebx, ebx
mov edi, dword [ebp + 0x14]
jmp 0x43b4bd
mov eax, dword [esp + 0x4c]
mov ecx, 0x80
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
jmp 0x43b1d9
xor eax, eax
cmp ecx, 0x68747470
sbb eax, eax
or eax, 1
mov ebx, dword [esp + 0x14]
xor ecx, ecx
test eax, eax
sete cl
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
shl ecx, 0x17
or ecx, 0x80
mov edi, dword [esp + 8]
xor esi, esi
push ecx
push esi
push esi
push esi
push edx
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
test eax, eax
je 0x43b232
mov esi, eax
mov ecx, dword [ebp + 0x14]
mov ebx, dword [ecx]
cmp ebx, 0x80000000
sete al
mov dword [esp + 4], eax
mov dword [esp], esi
jne 0x43b270
sub esp, 0x1c
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov esi, eax
mov ebx, dword [esp + 0x14]
jmp 0x43b2fc
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push edi
call esi
push dword [esp + 0x20]
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.0046b083
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4f680c
mov dword [ebx], 0x80000000
mov bl, 1
jmp 0x43b485
mov edi, dword [ecx + 4]
mov eax, dword [ecx + 8]
add eax, edi
lea edx, [esp + 0xa0]
mov dword [edx], 1
mov dword [esp + 0x18], edi
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov word [edx + 0xc], 0
lea edi, [esp + 0x30]
mov ecx, edi
call fcn.00430c31
mov eax, edi
mov edi, dword [edi + 4]
mov eax, dword [eax + 8]
sub esp, 0x1c
xorps xmm0, xmm0
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov esi, eax
lea eax, [esp + 0x30]
cmp dword [eax], 0
je 0x43b2de
push edi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
je 0x43b2f4
push dword [esp + 0x18]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 8]
test esi, esi
je 0x43b43a
push 0
mov esi, dword [esp + 4]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x43b445
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 1
mov dword [esp + 0xa8], eax
lea ecx, [esp + 0x28]
mov dword [ecx], eax
push ecx
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x43b3dd
mov edi, dword [esp + 0x28]
test edi, edi
je 0x43b550
mov ecx, edi
xor edx, edx
inc edx
call fcn.004a5ddb
mov esi, eax
mov ebx, edx
mov dword [esp + 0x54], 0
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x2c]
push edx
push dword [esp + 0xc]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x43b5e6
mov eax, dword [esp + 0x54]
cmp edi, eax
jb 0x43b642
lea ecx, [esp + 0xa0]
mov edx, ebx
push eax
call fcn.0040fc21
add esp, 4
test esi, esi
je 0x43b3b9
push ebx
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
push eax
mov esi, dword [esp + 4]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
mov ebx, dword [esp + 0x14]
jne 0x43b34a
mov eax, esi
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
push dword [esp + 8]
call esi
push dword [esp + 0x20]
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x30]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.0046b083
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4f680c
mov dword [ebx], 0x80000000
cmp dword [esp + 0xa0], 0
je 0x43b481
push dword [esp + 0xa4]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x43b481
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
jmp 0x43b44e
mov eax, esi
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
push edi
call esi
push dword [esp + 0x20]
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.0046b083
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4f680c
mov dword [ebx], 0x80000000
mov ebx, dword [esp + 4]
cmp dword [esp + 0x3c], 0
je 0x43b49e
push dword [esp + 0x40]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x48], 0
mov edi, dword [ebp + 0x14]
je 0x43b4ba
push dword [esp + 0x4c]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor bl, 1
cmp dword [esp + 0x6c], 0
je 0x43b4d6
push dword [esp + 0x70]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x78]
call fcn.0043b727
cmp dword [esp + 0x60], 0
je 0x43b4f8
push dword [esp + 0x64]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [edi]
cmp eax, 0x80000000
sete cl
or bl, cl
jne 0x43b51b
test eax, eax
je 0x43b51b
push dword [edi + 4]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ecx
mov esi, dword [esp]
jne 0x43b67b
mov eax, ebx
add eax, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], 0
mov edi, edx
jmp 0x43afbf
mov edx, eax
mov dword [esp + 4], eax
jmp 0x43ade6
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
call esi
push dword [esp + 8]
call esi
push dword [esp + 0x20]
call esi
mov eax, dword [esp + 0xa8]
mov dword [ebx + 8], eax
movsd xmm0, qword [esp + 0xa0]
movsd qword [ebx], xmm0
cmp dword [esp + 0x3c], 0
je 0x43b597
push dword [esp + 0x40]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x48], 0
je 0x43b5b0
push dword [esp + 0x4c]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x6c], 0
je 0x43b5c9
push dword [esp + 0x70]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x78]
call fcn.0043b727
cmp dword [esp + 0x60], 0
je 0x43b51b
push dword [esp + 0x64]
jmp 0x43b50d
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
call edi
push dword [esp + 8]
call edi
push dword [esp + 0x20]
call edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x30]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.0046b083
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x4f680c
mov dword [ecx], 0x80000000
test esi, esi
je 0x43b419
push ebx
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x43b419
mov ecx, eax
mov edx, edi
push 0x4f3dcc
call fcn.004cb960
push 0x4f3d48
push ebx
jmp 0x43b674
mov ecx, ebx
mov edx, eax
push 0x4f3db8
push eax
jmp 0x43aeae
mov ecx, ebx
mov edx, eax
push 0x4f3da8
push dword [esp + 8]
push 0
call fcn.004cbd80
mov ecx, ebx
push 0x4f3d68
push edx
push eax
call fcn.004cbd80
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, edx
mov ebp, ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
xor edi, edi
movzx eax, al
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
cmp esi, 8
jae 0x43b6d4
xor edx, edx
mov ecx, 0
cmp edi, dword [esp]
je 0x43b6ea
xor edx, edx
mov eax, dword [esp + 0x3c]
cmp byte [ebp + edx], al
je 0x43b6e7
inc edx
cmp esi, edx
jne 0x43b6c3
xor ecx, ecx
mov edx, esi
jmp 0x43b6ea
mov ecx, dword [esp + 8]
mov edx, ebp
push esi
call fcn.0040e800
add esp, 4
mov ecx, eax
jmp 0x43b6ea
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 1
jne 0x43b71a
add edx, edi
mov edi, edx
inc edi
je 0x43b70a
cmp dword [esp], edi
jb 0x43b70a
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x3c]
cmp byte [ecx + edx], bl
je 0x43b71c
mov ecx, dword [esp + 4]
lea ebp, [ecx + edi]
mov esi, dword [esp]
sub esi, edi
jae 0x43b6ac
jmp 0x43b71f
jmp 0x43b71f
xor eax, eax
inc eax
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret