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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0xa8], ebp
lea eax, [esi + 0xb0]
mov edx, ecx
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x42b910
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
cmp ecx, 1
je 0x43b3ec
test ecx, ecx
jne 0x43b3f0
test eax, eax
jne 0x43b3f0
mov ebx, str.description___is_deprecated__use_DisplayOutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmptyInvalidDigitPosOverflowNegOverflowZeroMissingNulTerminator
xor edi, edi
jmp 0x43b409
test eax, eax
je 0x43b402
lea edi, [esi + 0x3c]
mov ecx, edi
call fcn.004069d0
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
jmp 0x43b42c
mov eax, dword [edx]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, edi
call fcn.00412254
mov dword [esi + 0xc], eax
push edi
push ebx
mov ebx, edx
push edx
call fcn.0042c9e0
add esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], edi
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
lea ecx, [esi + 0x48]
mov dword [esi + 0x1c], ebx
mov edx, ebx
push 9
push 0x4439f4
mov dword [esi + 8], edi
push edi
call fcn.0040e1b0
add esp, 0xc
cmp dword [esi + 0x48], 0
je 0x43b607
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x2c], eax
sub eax, edx
mov dword [esi + 0x10], edx
mov dword [esi + 0xc], ecx
cmp eax, ecx
jae 0x43b611
mov ebx, dword [esi + 0x80]
mov edx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x6c]
mov dword [esi + 0x20], ebx
mov ebx, dword [esi + 0x50]
cmp edx, ecx
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], edi
cmova ecx, edx
mov dword [esi + 0x88], ecx
sub ecx, edx
mov dword [esi + 0x98], ecx
mov ecx, edx
mov dword [esi + 0xa4], ebx
mov ebx, dword [esi + 0x54]
neg ecx
mov dword [esi + 0x94], ecx
mov ecx, dword [esi + 0x78]
mov dword [esi + 0xa0], ebx
mov ebx, dword [esi + 0x60]
mov dword [esi + 0x24], ecx
dec ecx
mov dword [esi + 0x9c], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x8c], ebx
mov ebx, dword [esi + 0x70]
add ecx, edx
mov dword [esi + 0x90], ecx
mov dword [esi + 0x28], ebx
mov ebx, eax
mov eax, dword [esi + 0x24]
mov cl, byte [eax + ebx]
xor eax, eax
xor edx, edx
inc edx
shld eax, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edx
cmovne edx, ecx
and eax, dword [esi + 0xa0]
and edx, dword [esi + 0xa4]
or edx, eax
je 0x43b57a
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x28]
mov dword [esi + 0x18], ebx
cmp ecx, eax
cmovb eax, ecx
cmp edi, 0xffffffff
lea edi, [ebx - 1]
cmove eax, ecx
lea ecx, [eax - 1]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x9c]
lea edx, [ecx + ebx]
mov ecx, eax
sub ecx, 1
jb 0x43b598
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x10]
jae 0x43b9d3
lea ebx, [edi + eax]
cmp ebx, dword [esi + 0xc]
jae 0x43b9f6
mov ebx, dword [esi + 0x20]
mov bl, byte [ebx + eax - 1]
cmp bl, byte [edx + eax]
mov eax, ecx
je 0x43b544
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x38]
sub ebx, dword [esi + 0x34]
add ebx, ecx
mov eax, dword [esi + 0x10]
cmp edi, 0xffffffff
je 0x43b585
mov dword [esi + 0x28], eax
mov eax, ebx
mov dword [esi + 0x2c], ebx
sub eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jb 0x43b4ec
jmp 0x43b611
cmp dword [esi + 0x38], 0xffffffff
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x98]
cmove ecx, dword [esi + 0x10]
lea ebx, [edx + eax]
mov eax, dword [esi + 0x90]
cmp ecx, edx
cmovbe ecx, edx
add ecx, dword [esi + 0x94]
sub ecx, 1
jb 0x43b620
sub edi, 1
jb 0x43ba1b
cmp ebx, dword [esi + 0xc]
jae 0x43ba44
mov dword [esi + 0x30], ecx
mov cl, byte [eax]
mov edx, dword [esi + 0x24]
inc eax
mov byte [esi + 0x14], cl
mov cl, byte [esi + 0x14]
cmp cl, byte [edx + ebx]
mov ecx, dword [esi + 0x30]
lea ebx, [ebx + 1]
je 0x43b5c3
mov eax, dword [esi + 0x8c]
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 0x38]
sub ebx, eax
jmp 0x43b57d
cmp byte [esi + 0x56], 0
je 0x43b6e0
mov dword [esi + 0xb8], 0
jmp 0x43b7fd
mov edx, dword [esi + 0x18]
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x1c]
mov ecx, edx
add edx, 9
mov dword [esi + 0x18], ecx
mov dword [esi + 0x10], edx
lea edi, [ebx - 0x11]
sub ebx, ecx
lea ecx, [eax + ecx + 9]
mov eax, edx
mov dword [esi + 0x20], edi
add ebx, 0xfffffff7
xor edi, edi
mov dword [esi + 0x14], ebx
add edx, edi
mov dword [esi + 0xc], edx
mov edx, dword [esi + 8]
je 0x43b677
mov edx, dword [esi + 0xc]
cmp dword [esi + 8], edx
jbe 0x43b669
cmp byte [ecx + edi], 0xbf
mov edx, ebx
jg 0x43b677
jmp 0x43baeb
cmp dword [esi + 0x14], edi
jne 0x43baeb
mov edx, dword [esi + 8]
sub edx, eax
test edx, edx
je 0x43b68e
mov dl, byte [ecx + edi]
add dl, 0xd0
cmp dl, 0xa
jae 0x43b68e
mov edx, dword [esi + 0x10]
inc eax
inc edi
dec ebx
jmp 0x43b64a
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x1c]
cmp dword [esi + 0xc], 0
lea ebx, [eax + edi]
mov eax, dword [esi + 8]
lea edx, [ebx + ecx]
je 0x43b7dc
mov eax, dword [esi + 8]
sub eax, ebx
jbe 0x43b7d6
cmp byte [edx], 0xbf
jg 0x43b7dc
mov edx, dword [esi + 8]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
push 0x443af8
push edx
push ebx
call fcn.0043b290
add esp, 0xc
jmp 0x43bbc6
mov cl, byte [esi + 0x55]
mov eax, dword [esi + 0x50]
test cl, cl
sete dl
test eax, eax
je 0x43b92d
mov ecx, dword [esi + 0x78]
mov edi, dword [esi + 0x7c]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edi
cmp eax, dword [esi + 0x10]
jae 0x43b712
mov ecx, dword [esi + 0xc]
cmp byte [ecx + eax], 0xbf
jg 0x43b718
jmp 0x43bb33
jne 0x43bb33
mov ecx, dword [esi + 0xc]
mov bl, byte [ecx + eax - 1]
test bl, bl
js 0x43b728
movzx ebx, bl
jmp 0x43b787
mov ecx, dword [esi + 0xc]
mov edi, edx
movzx edx, byte [ecx + eax - 2]
cmp dl, 0xc0
jge 0x43b764
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x18], edi
movzx ecx, byte [ecx + eax - 3]
cmp cl, 0xc0
mov dword [esi + 0x14], ecx
jge 0x43b769
mov ecx, dword [esi + 0xc]
movzx edi, byte [ecx + eax - 4]
mov ecx, dword [esi + 0x14]
and edi, 7
and ecx, 0x3f
shl edi, 6
or ecx, edi
mov edi, ecx
jmp 0x43b76f
and edx, 0x1f
jmp 0x43b77a
mov edi, dword [esi + 0x14]
and edi, 0xf
shl edi, 6
and edx, 0x3f
or edx, edi
mov edi, dword [esi + 0x18]
and bl, 0x3f
shl edx, 6
movzx ebx, bl
or ebx, edx
mov edx, edi
test dl, 1
je 0x43b93f
cmp ebx, 0x110000
je 0x43b611
cmp ebx, 0x80
mov edx, 0xffffffff
jb 0x43b7c4
mov edx, 0xfffffffe
cmp ebx, 0x800
jb 0x43b7c4
xor edx, edx
cmp ebx, 0x10000
setb dl
or edx, 0xfffffffc
add eax, edx
mov edx, 0
jne 0x43b6ff
jmp 0x43b623
jne 0x43b6bb
cmp eax, 8
jb 0x43b7fd
mov eax, 0x6c6f6320
mov dword [esi + 0x24], ebx
mov ebx, edx
xor eax, dword [edx]
mov edx, 0x206e6d75
xor edx, dword [ebx + 4]
or edx, eax
je 0x43b88f
mov al, 1
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x44]
movsd xmm0, qword [esi + 0x3c]
lea ecx, [esi + 0x48]
mov byte [esi + 7], 0
mov dword [esi + 0xb8], 0
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
call fcn.00419e78
xor ecx, ecx
cmp byte [esi + 0x14], 0
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], edx
mov edx, 0x14
cmovne edi, ecx
cmovne ebx, ecx
xor ecx, ecx
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], ebx
mov al, byte [0x450ab0]
call fcn.00422a80
test eax, eax
je 0x43bb15
mov ecx, dword [esi + 0x58]
mov dword [eax + 0x10], ecx
movsd xmm0, qword [esi + 0x48]
movsd xmm1, qword [esi + 0x50]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov ecx, dword [esi + 0xb0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [edi + ecx + 0x11]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x28], ebx
sub dword [esi + 0x20], edi
mov al, 1
add edi, 0x11
mov dword [esi + 0x14], eax
lea ebx, [ecx + 8]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x2c], ebx
neg ecx
mov eax, dword [esi + 0x18]
add eax, edi
mov dword [esi + 0x30], eax
mov eax, dword [esi + 8]
je 0x43b8e9
mov eax, dword [esi + 0x30]
cmp dword [esi + 8], eax
jbe 0x43b8d8
mov eax, dword [esi + 0x18]
cmp byte [edx + eax], 0xbf
jle 0x43bb56
mov eax, dword [esi + 0x20]
add eax, ecx
jmp 0x43b8e9
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x18], eax
jne 0x43bb56
mov eax, dword [esi + 8]
sub eax, ebx
test eax, eax
je 0x43b901
mov eax, dword [esi + 0x18]
mov al, byte [edx + eax]
add al, 0xd0
cmp al, 0xa
jae 0x43b901
dec dword [esi + 0x20]
inc ebx
inc edi
inc edx
jmp 0x43b8af
add edi, dword [esi + 0x18]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
mov ecx, dword [esi + 0x1c]
cmp edi, dword [esi + 8]
jb 0x43b802
mov eax, ebx
sub eax, edx
jb 0x43b95e
test edx, edx
je 0x43b948
cmp dword [esi + 8], edx
jbe 0x43b946
cmp byte [ecx + edx], 0xc0
jge 0x43b948
jmp 0x43b95e
test cl, cl
mov edx, 0
jne 0x43b623
jmp 0x43b611
mov edx, eax
jmp 0x43b623
jne 0x43b95e
cmp dword [esi + 0xc], 0
je 0x43b987
cmp dword [esi + 8], ebx
jbe 0x43b985
mov ebx, dword [esi + 0x28]
cmp byte [ebx], 0xbf
mov ebx, dword [esi + 0x24]
jg 0x43b987
mov eax, edx
mov edx, dword [esi + 8]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
push 0x443b18
push ebx
push eax
call fcn.0043b290
add esp, 0xc
jmp 0x43bbc6
jne 0x43b95e
lea ebx, [esi + 0x48]
add edx, ecx
mov ecx, ebx
push eax
call fcn.00410340
add esp, 4
cmp byte [ebx], 0
jne 0x43ba9f
mov edx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x1c]
mov eax, edi
sub eax, edx
jb 0x43bb7d
mov ebx, dword [esi + 0x4c]
test edx, edx
je 0x43ba78
cmp dword [esi + 8], edx
jbe 0x43ba72
cmp byte [ecx + edx], 0xc0
jge 0x43ba78
jmp 0x43bb7d
mov edx, dword [esi + 0x10]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
push 0x4437ec
call fcn.0043ad80
add esp, 4
jmp 0x43bbc6
mov edx, dword [esi + 0xc]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
mov ecx, ebx
push 0x4437fc
call fcn.0043ad80
add esp, 4
jmp 0x43bbc6
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x10]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
push 0x4437cc
call fcn.0043ad80
add esp, 4
jmp 0x43bbc6
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0xc]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
add ecx, dword [esi + 0x18]
cmp edx, ecx
cmova ecx, edx
push 0x4437dc
call fcn.0043ad80
add esp, 4
jmp 0x43bbc6
jne 0x43bb7d
cmp dword [esi + 0x30], 0
je 0x43ba87
cmp dword [esi + 8], edi
jne 0x43bb7d
mov dword [esi + 0xc], ebx
lea ebx, [esi + 0x48]
add edx, ecx
mov ecx, ebx
push eax
call fcn.00410340
add esp, 4
cmp byte [ebx], 0
je 0x43baae
mov dword [esi + 0xb8], 0
jmp 0x43b802
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x4c]
cmp dword [esi + 8], ecx
mov dword [esi + 0x10], eax
jb 0x43badf
test ecx, ecx
je 0x43bad2
cmp dword [esi + 8], ecx
jbe 0x43bad2
mov eax, dword [esi + 0x1c]
cmp byte [eax + ecx], 0xbf
jle 0x43bba1
mov dword [esi + 0x44], ecx
mov dword [esi + 0xb8], 0
mov dword [esi + 0x14], 0
jmp 0x43b802
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 8]
mov dword [esi + 0xb8], 0
mov byte [esi + 7], 1
push 0x443ae8
push edx
push dword [esi + 0xc]
call fcn.0043b290
add esp, 0xc
jmp 0x43bbc6
mov ecx, 4
mov edx, 0x14
mov dword [esi + 0xb8], 1
call fcn.0043ac30
jmp 0x43bbc6
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
xor ebx, ebx
mov byte [esi + 7], 1
mov dword [esi + 0xb8], ebx
push 0x44381c
push eax
push ebx
call fcn.0043b290
add esp, 0xc
jmp 0x43bbc6
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 8]
mov dword [esi + 0xb8], 0
mov byte [esi + 7], 1
push 0x443b08
push edx
push dword [esi + 0x30]
call fcn.0043b290
add esp, 0xc
jmp 0x43bbc6
mov eax, edx
mov edx, dword [esi + 8]
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
push 0x443b28
push edi
push eax
call fcn.0043b290
add esp, 0xc
jmp 0x43bbc6
mov byte [esi + 7], 1
mov dword [esi + 0xb8], 0
mov ecx, str.assertion_failed:_self.is_char_boundary_new_len__rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_string.rs
mov edx, 0x30
push 0x444cf0
call fcn.0043ae40
add esp, 4
ud2