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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov edi, edx
mov esi, ecx
push 1
push 0x4b
call fcn.00406c70
add esp, 8
test eax, eax
je 0x438c5c
mov dword [esi], eax
mov dword [esi + 4], 0x4b
mov dword [esi + 8], 0
lea edx, [edi + 0x10]
lea ebx, [edi + 0x1c]
lea ecx, [edi + 0x74]
mov ebp, esi
mov dword [esp + 8], edi
mov dword [esp + 0x44], 0
cmp dword [edi + 0x1c], 0
cmove ebx, edx
cmp dword [edi + 0x74], 0
cmovne ebx, ecx
mov esi, dword [ebx + 8]
mov edi, dword [ebx]
mov dword [esp + 0x94], ebx
mov ebx, 0
cmp esi, 0x4c
jae 0x437fae
add eax, ebx
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
cmp byte [esp + 0xac], 0
mov eax, 0
mov dword [esp + 0x14], 1
mov dword [esp], ebp
mov dword [ebp + 8], ebx
mov ebx, dword [esp + 8]
je 0x437b2e
mov eax, ebx
mov ebx, dword [ebx + 0xf0]
mov esi, dword [eax + 0xf8]
lea edi, [esi*8]
test esi, esi
je 0x43769b
js 0x438c62
push 4
push edi
call fcn.00406c70
add esp, 8
test eax, eax
je 0x438c69
mov ebp, eax
jmp 0x4376a0
mov ebp, 4
lea eax, [ebx + esi*8]
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], ebp
cmp ebx, eax
je 0x43775f
add edi, 0xfffffff8
mov esi, edi
mov dword [esp + 4], edi
shr esi, 3
cmp edi, 0x18
lea edx, [esi + 1]
mov dword [esp + 0x1c], edx
jb 0x4376e3
lea ecx, [ebx + esi*8 + 8]
cmp ebp, ecx
jae 0x437f63
lea ecx, [edi + ebp + 8]
cmp ebx, ecx
jae 0x437f63
mov edx, ebp
mov ebp, ebx
xor ecx, ecx
nop dword [eax]
mov edi, dword [ebp + ecx]
mov ebx, dword [ebp + ecx + 4]
mov dword [edx + ecx], edi
mov dword [edx + ecx + 4], ebx
lea ebx, [ebp + ecx + 8]
add ecx, 8
cmp ebx, eax
jne 0x4376f0
push dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
push ebp
call fcn.004513f0
add esp, 8
cmp dword [esp + 4], 0
je 0x43776e
lea ebx, [ebp + 8]
mov edi, 1
jmp 0x437741
movsd xmm0, qword [ebx]
movsd qword [ebp + edi*8], xmm0
inc edi
add ebx, 8
dec esi
je 0x437773
mov eax, dword [ebx + 4]
cmp eax, dword [ebp + edi*8 - 4]
jne 0x437730
push eax
push dword [ebp + edi*8 - 8]
push dword [ebx]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x437730
jmp 0x43773b
push 0
push ebp
call fcn.004513f0
add esp, 8
xor edi, edi
jmp 0x437773
mov edi, 1
sub esp, 0x20
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x78]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebp
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00438cb0
add esp, 0x20
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
cmp ecx, edi
jae 0x4377d3
cmp esi, edi
mov eax, esi
mov ebx, ecx
jae 0x4377df
push 0x4b0930
jmp 0x438c84
xor ebx, ebx
cmp ecx, esi
mov eax, ecx
ja 0x438c76
mov dword [esp + 4], ecx
mov ecx, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x40], edi
sub ecx, edi
shl ecx, 2
lea ecx, [ecx + ecx*2]
test ecx, ecx
je 0x437924
shl eax, 2
mov esi, edi
lea ecx, [edi + edi*2]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 1
lea ebp, [eax + eax*2]
lea eax, [esi*4]
lea edi, [edx + ecx*4]
xor esi, esi
lea eax, [eax + eax*2]
sub ebp, eax
jmp 0x43784e
add edi, 0xc
add esi, ebx
add ebp, 0xfffffff4
je 0x437936
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], 0x4acea0
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x84], edi
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x6c], 0x4346f0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x34], 1
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00474030
mov ecx, esi
add esp, 8
mov eax, ebx
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
sub eax, esi
cmp eax, ebx
jb 0x437903
mov eax, dword [esp + 0x14]
mov esi, ecx
add eax, ecx
push ebx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x437840
push 1
push eax
push dword [esp + 0x78]
call fcn.00406c80
add esp, 0xc
jmp 0x437840
push ebx
push ecx
lea eax, [esp + 0x54]
push eax
mov esi, edx
call fcn.0047c9a0
mov edx, esi
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x14], eax
jmp 0x4378c8
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 1
xor esi, esi
mov eax, dword [esp + 0x3c]
shl eax, 2
lea edi, [eax + eax*2]
test edi, edi
je 0x437a34
mov ebx, dword [esp + 0x10]
jmp 0x43795e
add ebx, 0xc
add esi, ebp
add edi, 0xfffffff4
je 0x437a34
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x20], 0x4acea0
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x84], ebx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x6c], 0x4346f0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x34], 1
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00474030
mov ecx, esi
add esp, 8
mov eax, ebp
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
sub eax, esi
cmp eax, ebp
jb 0x437a13
mov eax, dword [esp + 0x14]
mov esi, ecx
add eax, ecx
push ebp
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x437950
push 1
push eax
push dword [esp + 0x78]
call fcn.00406c80
add esp, 0xc
jmp 0x437950
push ebp
push ecx
lea eax, [esp + 0x54]
push eax
mov esi, edx
call fcn.0047c9a0
mov edx, esi
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x14], eax
jmp 0x4379d8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], esi
test eax, eax
je 0x437a56
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x14]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x48]
cmp eax, ecx
jae 0x437a7c
cmp edx, ecx
jb 0x438c7f
mov ebp, dword [esp + 0x1c]
cmp edx, ecx
jne 0x437a96
jmp 0x437ace
cmp eax, edx
ja 0x438c95
mov edx, eax
mov dword [esp + 4], 0
mov ebp, dword [esp + 0x1c]
cmp edx, ecx
je 0x437ace
mov esi, dword [esp + 0x10]
shl ecx, 2
shl edx, 2
lea eax, [ecx + ecx*2]
lea edi, [edx + edx*2]
sub edi, eax
lea esi, [esi + eax + 4]
jmp 0x437ab8
add esi, 0xc
add edi, 0xfffffff4
je 0x437ace
mov eax, dword [esi]
test eax, eax
je 0x437ab0
push 1
push eax
push dword [esi - 4]
call fcn.00406c80
add esp, 0xc
jmp 0x437ab0
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x437b0e
shl eax, 2
add edi, 4
lea esi, [eax + eax*2]
jmp 0x437af8
add edi, 0xc
add esi, 0xfffffff4
je 0x437b0e
mov eax, dword [edi]
test eax, eax
je 0x437af0
push 1
push eax
push dword [edi - 4]
call fcn.00406c80
add esp, 0xc
jmp 0x437af0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x437b2c
mov ecx, 0xc
mul ecx
push 4
push eax
push dword [esp + 0x68]
call fcn.00406c80
add esp, 0xc
mov eax, ebp
imul esi, dword [ebx + 0xac], 0x78
mov dword [esp + 0x1c], eax
test esi, esi
je 0x437d13
mov edi, dword [ebx + 0xa4]
add esi, edi
mov dword [esp + 0x3c], esi
jmp 0x437b69
mov edi, dword [esp + 4]
test byte [edi + 0x24], 0x10
je 0x437cdf
add edi, 0x78
cmp edi, esi
je 0x437d13
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x437bb0
mov ecx, dword [edi + 0x60]
cmp ecx, 7
je 0x437b90
cmp ecx, 4
jne 0x437bb0
cmp dword [eax], 0x706c6568
jne 0x437bb0
jmp 0x437b5e
mov ecx, dword [eax]
mov eax, dword [eax + 3]
mov edx, 0x73726576
mov ebp, 0x6e6f6973
xor ecx, edx
xor eax, ebp
or eax, ecx
je 0x437b5e
nop word [eax + eax]
push dword [edi + 4]
mov dword [esp + 8], edi
push dword [edi]
push ebx
lea eax, [esp + 0x2c]
push eax
call fcn.00427870
add esp, 0x10
mov ebp, dword [esp + 0x20]
test ebp, ebp
je 0x437b50
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
lea ecx, [eax*8]
test ecx, ecx
je 0x437c80
lea eax, [ebp + eax*8]
mov edi, dword [ebx + 0xd8]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0xe0]
shl eax, 4
lea esi, [eax + eax*2]
mov eax, ebp
mov dword [esp + 0x40], esi
mov ebp, eax
add eax, 8
mov dword [esp + 0xc], eax
mov eax, edi
jmp 0x437c32
xor ecx, ecx
add esi, 0xffffffd0
lea eax, [ebx + 0x30]
test cl, cl
je 0x437c32
cmp byte [ebx + 0x2c], 0
jne 0x437cb0
test esi, esi
je 0x437c60
mov ebx, eax
mov eax, dword [eax + 4]
cmp eax, dword [ebp + 4]
jne 0x437c20
push eax
push dword [ebp]
push dword [ebx]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
sete cl
add esi, 0xffffffd0
lea eax, [ebx + 0x30]
test cl, cl
jne 0x437c2c
jmp 0x437c32
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
cmp eax, dword [esp + 0x48]
jne 0x437c0e
nop word cs:[eax + eax]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
test eax, eax
je 0x437b50
mov ecx, 8
mul ecx
push 4
push eax
push ebp
call fcn.00406c80
add esp, 0xc
jmp 0x437b50
mov eax, dword [esp + 0x10]
test eax, eax
je 0x437cce
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x20]
call fcn.00406c80
add esp, 0xc
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 4]
jmp 0x437b5e
test byte [ebx], 0x20
jne 0x437d88
mov esi, dword [esp]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 7
jbe 0x4382cf
mov ecx, dword [esi]
mov dword [ecx + eax + 4], 0x5d534741
mov dword [ecx + eax], 0x4c465b20
add eax, 8
mov dword [esi + 8], eax
test byte [ebx], 0x20
mov esi, dword [esp]
jne 0x437dc9
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x437dc9
mov eax, dword [ebx + 0xb0]
imul ecx, ecx, 0x110
add eax, 0xbc
nop
test byte [eax], 0x11
je 0x437d54
add eax, 0x110
add ecx, 0xfffffef0
jne 0x437d40
jmp 0x437dc9
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 9
jbe 0x437fdc
mov ecx, dword [esi]
movzx edx, word [0x4acd8b]
movsd xmm0, qword [0x4acd83]
mov word [ecx + eax + 8], dx
movsd qword [ecx + eax], xmm0
add eax, 0xa
mov dword [esi + 8], eax
jmp 0x437dc9
mov esi, dword [esp]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 9
jbe 0x4382e3
mov ecx, dword [esi]
movzx edx, word [0x4acd8b]
movsd xmm0, qword [0x4acd83]
mov word [ecx + eax + 8], dx
movsd qword [ecx + eax], xmm0
add eax, 0xa
mov dword [esi + 8], eax
test byte [ebx], 0x20
mov esi, dword [esp]
je 0x437d1f
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x44]
sub eax, ebp
cmp eax, ecx
jb 0x437fc5
mov eax, dword [esi]
add eax, ebp
push ecx
push dword [esp + 0x18]
push eax
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebp, edi
xor edi, edi
mov dword [esi + 8], ebp
mov dword [esp + 0xc], ebp
mov edx, dword [ebx + 0xc8]
mov ebp, dword [ebx + 0xc0]
imul ebx, edx, 0xf8
mov dword [esp + 4], edx
neg edx
mov esi, ebp
add ebx, ebp
cmp edi, dword [esp + 4]
setae cl
cmp esi, ebx
sete al
or al, cl
mov dword [esp + 0x10], eax
jne 0x437e6b
inc edi
mov ecx, esi
jmp 0x437e4e
mov esi, ebx
lea eax, [edx + edi + 1]
inc edi
mov ecx, esi
cmp eax, 1
je 0x437e77
cmp ecx, ebx
je 0x437e40
mov eax, dword [ecx]
lea esi, [ecx + 0xf8]
xor eax, 2
or eax, dword [ecx + 4]
je 0x437e42
test byte [ecx + 0xc5], 0x40
je 0x437e18
mov eax, dword [esp + 0x10]
xor al, 1
mov dword [esp + 0x10], eax
jmp 0x437e7f
mov dword [esp + 0x10], 0
mov eax, dword [esp + 8]
mov esi, dword [eax + 0xb0]
imul ecx, dword [eax + 0xb8], 0x110
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x438035
add ecx, 0xfffffef0
test byte [esi + 0xbc], 2
lea esi, [esi + 0x110]
je 0x437ea0
xor edi, edi
cmp edi, dword [esp + 4]
jae 0x438035
cmp ebp, ebx
je 0x438035
inc edi
mov ecx, ebp
jmp 0x437ef2
mov ebp, ebx
lea eax, [edx + edi + 1]
inc edi
mov ecx, ebp
cmp eax, 1
je 0x438035
cmp ecx, ebx
je 0x437ee0
mov eax, dword [ecx]
lea ebp, [ecx + 0xf8]
xor eax, 2
or eax, dword [ecx + 4]
je 0x437ee2
test byte [ecx + 0xc4], 1
jne 0x437ebf
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x437ff0
mov eax, dword [esp + 8]
imul ecx, ecx, 0x138
mov eax, dword [eax + 0xcc]
add eax, 0x18
jmp 0x437f51
test byte [eax - 0x17], 0x10
je 0x438035
add eax, 0x138
add ecx, 0xfffffec8
je 0x437ff0
cmp dword [eax], 4
jne 0x437f36
mov edx, dword [eax - 8]
cmp dword [edx], 0x706c6568
jne 0x437f36
jmp 0x437f40
mov edi, edx
mov ecx, ebp
and edi, 0xfffffffc
lea edx, [ebp + edi*8]
mov dword [esp + 0x14], edi
lea ebp, [ebx + edi*8]
xor edi, edi
nop word [eax + eax]
movups xmm0, xmmword [ebx + edi*8]
movups xmm1, xmmword [ebx + edi*8 + 0x10]
movups xmmword [ecx + edi*8], xmm0
movups xmmword [ecx + edi*8 + 0x10], xmm1
add edi, 4
cmp dword [esp + 0x14], edi
jne 0x437f80
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x1c], ecx
jne 0x4376e7
jmp 0x43770a
push esi
push 0
push ebp
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
jmp 0x437631
push ecx
push ebp
push esi
call fcn.0047c9a0
mov ecx, dword [esp + 0x50]
add esp, 0xc
mov ebp, dword [esi + 8]
jmp 0x437ddd
push 0xa
push eax
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x437d65
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
not cl
test byte [eax + 1], 0x80
sete al
test cl, al
je 0x438035
mov esi, dword [esp]
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 4]
sub eax, edx
cmp eax, 4
jbe 0x438b55
mov eax, dword [esi]
mov cl, byte [0x4acdef]
mov edi, dword [0x4acdeb]
mov byte [eax + edx + 4], cl
mov dword [eax + edx], edi
add edx, 5
mov dword [esi + 8], edx
mov ebx, dword [esp + 8]
cmp dword [ebx + 0xbc], 0
je 0x438893
mov edi, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xc0]
xor eax, eax
imul ebp, edi, 0xf8
mov esi, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 4], edi
add ebp, ecx
neg esi
cmp eax, edi
jae 0x438893
cmp ecx, ebp
je 0x438893
inc eax
mov edx, ecx
jmp 0x438092
mov ecx, ebp
lea edx, [esi + eax + 1]
inc eax
cmp edx, 1
mov edx, ecx
je 0x438893
cmp edx, ebp
je 0x438080
mov edi, dword [edx]
lea ecx, [edx + 0xf8]
xor edi, 2
or edi, dword [edx + 4]
je 0x438082
mov edx, dword [edx + 0xc4]
mov edi, edx
and edi, 0x4001
cmp edi, 1
mov edi, dword [esp + 4]
je 0x438068
and edx, 0x10
jne 0x438068
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], 0
mov cl, byte [esp + 0xac]
mov eax, dword [esp + 4]
cmp dword [esp + 0xc], eax
jae 0x4382b0
cmp edi, ebp
je 0x4382b0
inc dword [esp + 0xc]
mov eax, edi
jmp 0x438115
mov edi, ebp
mov edx, dword [esp + 0xc]
lea eax, [esi + edx + 1]
inc edx
cmp eax, 1
mov eax, edi
mov dword [esp + 0xc], edx
je 0x4382b0
cmp eax, ebp
je 0x4380fb
mov ecx, dword [eax]
lea edi, [eax + 0xf8]
xor ecx, 2
or ecx, dword [eax + 4]
jne 0x438133
movzx ecx, byte [esp + 0xac]
jmp 0x4380fd
movzx ecx, word [eax + 0xc4]
test ecx, 0x4011
mov cl, byte [esp + 0xac]
jne 0x4380dd
push dword [eax + 0xa4]
push dword [eax + 0xa0]
push ebx
lea eax, [esp + 0x2c]
push eax
call fcn.00427870
add esp, 0x10
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [esp + 0x80], eax
je 0x4382a7
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28]
lea ecx, [eax*8]
test ecx, ecx
je 0x43827b
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0xe0]
test ecx, ecx
je 0x43827b
mov edx, dword [esp + 0x80]
shl ecx, 4
lea edi, [ecx + ecx*2]
mov dword [esp + 0x90], edi
lea eax, [edx + eax*8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xd8]
mov dword [esp + 0x44], eax
jmp 0x4381e9
mov edx, dword [esp + 0x3c]
cmp edx, dword [esp + 0x8c]
je 0x43827b
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x44]
lea eax, [edx + 8]
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
jmp 0x438218
add edi, 0x30
add ebx, 0xffffffd0
je 0x4381d8
cmp byte [edi + 0x2c], 0
je 0x438210
mov eax, dword [edi + 4]
cmp eax, dword [edx + 4]
jne 0x438210
push eax
push dword [edx]
push dword [edi]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x54]
movzx ecx, byte [esp + 0xb8]
add esp, 0xc
test eax, eax
jne 0x438210
mov eax, dword [esp + 0x88]
test eax, eax
je 0x43826e
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x88]
call fcn.00406c80
mov cl, byte [esp + 0xb8]
add esp, 0xc
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x18]
jmp 0x4380dd
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x18]
test eax, eax
je 0x4382a7
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x88]
call fcn.00406c80
add esp, 0xc
inc dword [esp + 0x40]
jmp 0x4380d6
mov eax, dword [ebx]
mov edx, dword [esp + 0x40]
test eax, 0x40000000
jne 0x4382f7
cmp edx, 1
jle 0x4382f7
mov dword [esp + 0x20], 0
jmp 0x4385ae
push 8
push eax
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x437cfc
push 0xa
push eax
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x437d9c
cmp edx, 1
jne 0x438449
test cl, cl
je 0x438449
mov eax, dword [ebx + 0xc8]
mov edi, dword [ebx + 0xc0]
xor esi, esi
imul ecx, eax, 0xf8
mov edx, eax
add ecx, edi
neg edx
cmp esi, eax
jae 0x438c2e
cmp edi, ecx
je 0x438c2e
inc esi
mov ebx, edi
jmp 0x438352
mov edi, ecx
lea ebx, [edx + esi + 1]
inc esi
cmp ebx, 1
mov ebx, edi
je 0x438c2e
cmp ebx, ecx
je 0x438340
mov ebp, dword [ebx]
lea edi, [ebx + 0xf8]
xor ebp, 2
or ebp, dword [ebx + 4]
je 0x438342
movzx ebp, word [ebx + 0xc4]
test ebp, 0x4011
jne 0x438322
lea esi, [esp + 0x58]
push ebx
push esi
call fcn.0043b380
add esp, 8
cmp dword [ebx + 0x40], 0
mov edx, 0x4ad094
sete al
cmp dword [ebx + 0x3c], 2
setb cl
or cl, al
mov al, byte [ebx + 0xc4]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], 0x435040
mov dword [esp + 0x20], 0x4acebc
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
shr al, 1
and al, cl
mov ecx, 0x4ad214
movzx eax, al
cmovne edx, ecx
lea ecx, [esp + 0x20]
lea eax, [eax + eax*2]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], 0x403db0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 2
lea eax, [esp + 0x4c]
push ecx
push eax
call fcn.00474030
add esp, 8
cmp dword [esp + 0x58], 0
je 0x43842c
mov eax, dword [esp + 0x60]
test eax, eax
je 0x43842c
push 1
push eax
push dword [esp + 0x64]
call fcn.00406c80
add esp, 0xc
movsd xmm0, qword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 8]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 0x28], eax
jmp 0x4385ae
test eax, 0x40000000
je 0x4384a6
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x4384a6
test cl, cl
je 0x4384a6
mov edx, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xc0]
lea edi, [esp + 0x58]
lea ebp, [esp + 0x20]
mov dword [esp + 0x20], 0
imul esi, edx, 0xf8
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ecx
add esi, ecx
mov dword [esp + 0x34], esi
push ebp
push edi
call fcn.00441060
jmp 0x43856e
test cl, cl
je 0x4384c7
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
jmp 0x4385ae
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xc0]
imul ecx, edx, 0xf8
add ecx, eax
test edx, edx
je 0x438523
xor esi, esi
mov ebx, eax
cmp ebx, ecx
jne 0x4384f2
jmp 0x438523
mov edi, ecx
inc esi
mov ebx, edi
cmp edx, esi
je 0x438523
cmp ebx, ecx
je 0x4384e9
mov ebp, dword [ebx]
lea edi, [ebx + 0xf8]
xor ebp, 2
or ebp, dword [ebx + 4]
je 0x4384eb
mov ebx, dword [ebx + 0xc4]
mov ebp, 0x4001
and ebx, ebp
cmp ebx, 1
je 0x438ba9
inc esi
mov ebx, edi
cmp esi, edx
jb 0x4384e3
mov ebx, dword [esp + 8]
mov esi, dword [ebx + 0xbc]
mov dword [esp + 0x70], esi
lea edi, [esp + 0x58]
lea ebp, [esp + 0x20]
mov esi, dword [ebx + 0xbc]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x38], ecx
push ebp
push edi
call fcn.00441ac0
add esp, 8
mov esi, dword [esp + 0x58]
push 0
push 0x4aca84
push dword [esp + 0x68]
push esi
push ebp
call fcn.00436380
add esp, 0x14
push edi
call fcn.0043ff20
add esp, 4
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4385ae
mov ecx, 0xc
mul ecx
push 4
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov esi, dword [esp + 0x20]
test esi, esi
je 0x438606
mov eax, dword [esp + 0x24]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [ecx + 4]
mov ebp, dword [ecx + 8]
sub eax, ebp
cmp eax, ebx
jb 0x438ae0
mov edi, dword [esp]
mov eax, dword [edi]
add eax, ebp
push ebx
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
add ebp, ebx
mov ebx, dword [esp + 8]
mov dword [edi + 8], ebp
test eax, eax
je 0x438635
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
jmp 0x438635
mov esi, dword [esp]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 6
jbe 0x438b41
mov ecx, dword [esi]
mov edx, dword [0x4acdf3]
mov edi, dword [0x4acdf0]
mov dword [ecx + eax + 3], edx
mov dword [ecx + eax], edi
add eax, 7
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
and al, byte [esp + 0xac]
cmp al, 1
jne 0x438893
mov edx, dword [ebx + 0xc8]
mov edi, dword [ebx + 0xc0]
xor ebp, ebp
imul ecx, edx, 0xf8
mov dword [esp + 4], edx
neg edx
mov esi, edi
add ecx, edi
cmp ebp, dword [esp + 4]
jae 0x438c27
cmp esi, ecx
je 0x438c27
inc ebp
mov ebx, esi
jmp 0x438692
mov esi, ecx
lea eax, [edx + ebp + 1]
inc ebp
mov ebx, esi
cmp eax, 1
je 0x438c27
cmp ebx, ecx
je 0x438680
mov eax, dword [ebx]
lea esi, [ebx + 0xf8]
xor eax, 2
or eax, dword [ebx + 4]
je 0x438682
mov eax, dword [ebx + 0xc4]
test eax, 0x4000
je 0x438666
test al, 1
mov dword [esp + 0x10], eax
jne 0x4386ee
mov esi, dword [esp]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 5
jbe 0x438b69
mov ecx, dword [esi]
movzx edx, word [0x4ace7c]
mov edi, dword [0x4ace78]
mov word [ecx + eax + 4], dx
mov dword [ecx + eax], edi
add eax, 6
jmp 0x438787
xor ebp, ebp
cmp ebp, dword [esp + 4]
jae 0x43875b
cmp edi, ecx
je 0x43875b
inc ebp
mov esi, edi
jmp 0x43870d
mov edi, ecx
lea eax, [edx + ebp + 1]
inc ebp
mov esi, edi
cmp eax, 1
je 0x43875b
cmp esi, ecx
je 0x4386ff
mov eax, dword [esi]
lea edi, [esi + 0xf8]
xor eax, 2
or eax, dword [esi + 4]
je 0x438701
test byte [esi + 0xc4], 1
jne 0x4386f0
mov eax, dword [esp]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
sub ecx, eax
cmp ecx, 4
jbe 0x438c44
mov esi, dword [esp]
mov dl, byte [0x4ace70]
mov edi, dword [str._____________________n______SUBCOMMAND___SUBCOMMAND_]
mov ecx, dword [esi]
mov byte [ecx + eax + 4], dl
mov dword [ecx + eax], edi
add eax, 5
jmp 0x438787
mov esi, dword [esp]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub ecx, eax
cmp ecx, 6
jbe 0x438b95
mov ecx, dword [esi]
mov edx, dword [0x4ace74]
mov edi, dword [0x4ace71]
mov dword [ecx + eax + 3], edx
mov dword [ecx + eax], edi
add eax, 7
mov dword [esi + 8], eax
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.0043b380
add esp, 8
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
test eax, eax
mov dword [esp + 4], eax
mov dword [esp + 0xc], ebp
je 0x4387b0
mov ebp, dword [esp + 0x2c]
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x24]
sub eax, edi
cmp eax, ebp
jb 0x438af7
mov esi, dword [esp]
mov eax, dword [esi]
add eax, edi
push ebp
mov dword [esp + 0x1c], ecx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebp
cmp dword [esp + 4], 0
mov dword [esi + 8], edi
je 0x438803
mov eax, dword [esp + 0xc]
test eax, eax
je 0x438803
push 1
push eax
push dword [esp + 0x20]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp]
mov edi, dword [eax + 8]
mov eax, dword [esp]
cmp dword [eax + 4], edi
je 0x438b12
mov edx, dword [esp]
mov eax, dword [edx]
mov byte [eax + edi], 0x3e
inc edi
mov dword [edx + 8], edi
cmp dword [ebx + 0x40], 0
sete al
cmp dword [ebx + 0x3c], 2
mov bl, byte [ebx + 0xc4]
setb cl
shr bl, 1
or cl, al
and bl, cl
mov ecx, dword [edx + 4]
movzx eax, bl
lea esi, [eax + eax*2]
sub ecx, edi
cmp ecx, esi
jb 0x438b2a
test bl, bl
mov ebx, dword [esp]
mov eax, 0x4ad214
mov ecx, 0x4ad094
cmovne ecx, eax
mov eax, dword [ebx]
add eax, edi
push esi
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
test byte [esp + 0x10], 1
mov dword [ebx + 8], edi
mov ebx, dword [esp + 8]
jne 0x438893
mov eax, dword [esp]
cmp dword [eax + 4], edi
je 0x438b7d
mov ecx, dword [esp]
mov eax, dword [ecx]
mov byte [eax + edi], 0x5d
inc edi
mov dword [ecx + 8], edi
mov ecx, dword [ebx + 0xd4]
mov edi, dword [esp]
test ecx, ecx
je 0x4388f3
mov eax, dword [ebx + 0xcc]
imul ecx, ecx, 0x138
add eax, 0x18
jmp 0x4388d3
test byte [eax - 0x17], 0x10
je 0x4388e5
add eax, 0x138
add ecx, 0xfffffec8
je 0x4388f3
cmp dword [eax], 4
jne 0x4388c0
mov edx, dword [eax - 8]
cmp dword [edx], 0x706c6568
jne 0x4388c0
jmp 0x4388c6
cmp byte [esp + 0xac], 0
je 0x4388f3
mov ebx, dword [ebx]
jmp 0x438910
mov ebx, dword [ebx]
test ebx, 0x8000
jne 0x438910
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
cmp eax, esi
ja 0x438a2f
jmp 0x438a64
test ebx, 0x80000001
je 0x4389af
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
sub ecx, eax
cmp ecx, 4
jbe 0x438a9e
test ebx, 0x80000000
mov ecx, dword [edi]
mov dl, byte [0x4ace84]
mov ebx, dword [0x4ace80]
lea esi, [eax + 5]
mov ebp, edi
mov byte [ecx + eax + 4], dl
mov dword [ecx + eax], ebx
mov dword [edi + 8], esi
jne 0x4389c1
mov edx, dword [esp + 8]
lea ecx, [esp + 0x20]
push 0
call fcn.004375c0
add esp, 4
mov eax, dword [ebp + 4]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jb 0x438ab2
mov ebp, dword [esp]
mov eax, dword [ebp]
add eax, ebx
push edi
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x24]
add ebx, edi
mov dword [ebp + 8], ebx
test eax, eax
je 0x4389a8
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov edi, 0x4ace85
jmp 0x4389f7
test bl, 0x82
mov eax, 0x4ace92
mov edi, 0x4ace85
cmove edi, eax
jmp 0x4389f7
mov eax, dword [esp + 0x94]
mov ecx, dword [ebp + 4]
mov edi, dword [eax + 8]
mov ebx, dword [eax]
sub ecx, esi
cmp ecx, edi
jb 0x438ac9
mov ebp, dword [esp]
mov eax, dword [ebp]
add eax, esi
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, edi
mov edi, 0x4ace85
mov dword [ebp + 8], esi
mov ecx, dword [esp]
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, esi
cmp eax, 0xc
jbe 0x438a86
mov ecx, dword [esp]
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 5]
mov eax, dword [ecx]
mov edi, ecx
movsd qword [eax + esi + 5], xmm1
movsd qword [eax + esi], xmm0
add esi, 0xd
mov dword [ecx + 8], esi
mov eax, dword [edi + 4]
cmp eax, esi
jbe 0x438a64
mov ecx, dword [edi]
test esi, esi
je 0x438a4e
push esi
push 1
push eax
push ecx
call fcn.00406ca0
add esp, 0x10
test eax, eax
jne 0x438a5f
push 1
push esi
jmp 0x438c6c
push 1
push eax
push ecx
call fcn.00406c80
add esp, 0xc
mov eax, 1
mov dword [edi], eax
mov dword [edi + 4], esi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x438a7b
push 1
push eax
push dword [esp + 0x1c]
call fcn.00406c80
add esp, 0xc
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
push 0xd
push esi
mov esi, dword [esp + 8]
push esi
call fcn.0047c9a0
add esp, 0xc
mov esi, dword [esi + 8]
jmp 0x438a07
push 5
push eax
push edi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [edi + 8]
jmp 0x43892d
push edi
push ebx
mov ebx, dword [esp + 8]
push ebx
call fcn.0047c9a0
add esp, 0xc
mov ebx, dword [ebx + 8]
jmp 0x43897c
push edi
push esi
mov esi, dword [esp + 8]
push esi
call fcn.0047c9a0
add esp, 0xc
mov esi, dword [esi + 8]
jmp 0x4389da
push ebx
push ebp
mov ebp, dword [esp + 8]
push ebp
call fcn.0047c9a0
add esp, 0xc
mov ebp, dword [ebp + 8]
jmp 0x4385d5
push ebp
push edi
mov esi, dword [esp + 8]
push esi
mov edi, ecx
call fcn.0047c9a0
mov ecx, edi
add esp, 0xc
mov edi, dword [esi + 8]
jmp 0x4387c4
push 1
push edi
mov esi, dword [esp + 8]
push esi
call fcn.0047c9a0
add esp, 0xc
mov edi, dword [esi + 8]
jmp 0x43880f
push esi
push edi
mov edi, dword [esp + 8]
push edi
call fcn.0047c9a0
add esp, 0xc
mov edi, dword [edi + 8]
jmp 0x438849
push 7
push eax
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x43861a
push 5
push edx
push esi
call fcn.0047c9a0
add esp, 0xc
mov edx, dword [esi + 8]
jmp 0x43801a
push 6
push eax
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x4386cf
push 1
push edi
mov esi, dword [esp + 8]
push esi
call fcn.0047c9a0
add esp, 0xc
mov edi, dword [esi + 8]
jmp 0x438886
push 7
push eax
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x43876f
lea ebx, [esi + 1]
cmp ebx, edx
jae 0x438c1e
mov ebp, ebx
cmp ecx, edi
je 0x438c1e
mov ebx, edi
jmp 0x438bc3
mov edi, ecx
inc ebp
mov ebx, edi
cmp edx, ebp
je 0x438c1e
cmp ebx, ecx
je 0x438bba
mov dword [esp + 4], ebp
mov ebp, dword [ebx]
lea edi, [ebx + 0xf8]
xor ebp, 2
or ebp, dword [ebx + 4]
jne 0x438be8
mov ebp, dword [esp + 4]
inc ebp
mov ebx, edi
cmp edx, ebp
jne 0x438bc3
jmp 0x438c1e
mov ebp, dword [esp + 4]
inc ebp
mov dword [esp + 0xc], ebp
mov ebp, dword [ebx + 0xc4]
mov ebx, 0x4001
and ebp, ebx
mov ebx, dword [esp + 4]
cmp esi, ebx
cmova ebx, esi
cmp ebp, 1
mov ebp, dword [esp + 0xc]
cmove esi, ebx
mov ebx, dword [esp + 8]
cmp ebp, edx
jb 0x438bb2
jmp 0x43852d
mov ebx, dword [esp + 8]
jmp 0x43852d
push 0x4ace5c
jmp 0x438c33
push 0x4acea8
push 0x63
push 0x4acdf7
call fcn.00480510
add esp, 0xc
ud2
push 5
push eax
mov esi, dword [esp + 8]
push esi
call fcn.0047c9a0
add esp, 0xc
mov eax, dword [esi + 8]
jmp 0x43873e
push 1
push 0x4b
jmp 0x438c6c
call fcn.00473a80
ud2
push 4
push edi
call fcn.004804a0
add esp, 8
ud2
push 0x4b0920
push esi
push ecx
jmp 0x438c9c
push 0x4b0950
push 0x23
push str.assertion_failed:_mid___self.len__C:Users_appveyor.cargo_registry_srcgithub.com_1285ae84e5963aae_textwrap_0.11.0_srclib.rs
call fcn.00480530
add esp, 0xc
ud2
push 0x4b0940
push edx
push eax
call fcn.00480750
add esp, 0xc
ud2