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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1c0
lea esi, [esp + 0x110]
and dword [esi + 0x10], 0
and dword [esi + 0x18], 0
and dword [esi + 0x20], 0
and dword [esi + 0x28], 0
and dword [esi + 0x30], 0
and dword [esi + 0x38], 0
and dword [esi + 0x40], 0
and dword [esi + 0x48], 0
and dword [esi + 0x50], 0
and dword [esi + 0x58], 0
mov byte [esi + 0xa0], 7
and dword [esi + 0x60], 0
and dword [esi + 0x68], 0
and dword [esi + 0x70], 0
and dword [esi + 0x78], 0
and dword [esi + 0x80], 0
and dword [esi + 0x88], 0
and dword [esi + 0x90], 0
mov edi, edx
and dword [esi + 4], 0
mov dword [esp + 0x24], ecx
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0xd0]
mov dword [ecx], eax
call 0x41c1f9
pop eax
mov dword [esp + 8], eax
and dword [esi], 0
and dword [esi + 0x98], 0
mov dword [ecx + 4], 0x17
mov dword [ecx + 8], str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
and dword [ecx + 0xc], 0
mov esi, dword [ebp + 8]
lea ecx, [esp + 0xe4]
lea edx, [esp + 0xd0]
call fcn.004192b0
cmp byte [esp + 0xe4], 7
je 0x41c825
movsd xmm0, qword [esp + 0xe4]
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x10]
mov bl, 6
mov eax, dword [eax*4 + 0x41ce98]
add eax, dword [esp + 8]
jmp eax
mov bl, 5
test esi, esi
jne 0x41ccd8
cmp dword [esp + 0x1a8], 0
je 0x41c860
mov ecx, dword [esp + 0x1ac]
jmp 0x41c876
mov eax, dword [esp + 0x110]
xor ecx, ecx
or eax, dword [esp + 0x114]
je 0x41cc81
mov dword [esp + 8], ecx
lea edi, [esp + 0x108]
lea ebx, [esp + 0x110]
mov ecx, edi
mov edx, ebx
call fcn.0041a1da
lea esi, [esp + 0xe4]
mov ecx, esi
mov edx, ebx
call fcn.0041a858
mov cl, byte [edi]
mov al, byte [esi]
mov edx, ecx
or dl, al
jne 0x41c937
mov edi, dword [esp + 0x10c]
mov ebx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
mov ecx, edi
call fcn.0041d870
mov ecx, 0x15180
imul ecx
mov esi, dword [esp + 8]
mov ecx, esi
sar ecx, 0x1f
sub eax, esi
sbb edx, ecx
mov dword [esp + 4], ebx
add eax, ebx
adc edx, 0
add eax, 0x886cb780
adc edx, 0xfffffff1
mov ecx, dword [esp + 0x110]
or ecx, dword [esp + 0x114]
je 0x41cbd0
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x118]
mov esi, dword [esp + 0x11c]
mov ecx, edi
xor ecx, eax
mov ebx, esi
xor ebx, edx
or ebx, ecx
jne 0x41cc8c
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x20]
jmp 0x41cbd4
mov edx, dword [esp + 0x110]
or edx, dword [esp + 0x114]
je 0x41cc74
mov edi, dword [esp + 0x118]
mov esi, dword [esp + 0x11c]
mov dl, byte [esp + 0x109]
test cl, cl
je 0x41c96c
test dl, dl
je 0x41cc66
mov ah, byte [esp + 0xe5]
test al, al
je 0x41c97f
test ah, ah
je 0x41cc66
test al, al
setne ch
test cl, cl
setne dh
cmp dl, 1
sete dl
cmp ah, 1
sete cl
mov al, 1
test dh, dl
jne 0x41cc68
and ch, cl
mov ecx, dword [esp + 8]
jne 0x41cc68
mov ebx, ecx
sar ebx, 0x1f
mov eax, esi
mov esi, edi
add esi, ecx
mov dword [esp + 0xc], eax
adc ebx, eax
jo 0x41cc66
mov dword [esp + 0x20], edi
mov eax, 0x15180
push 0
push eax
push ebx
push esi
call fcn.004f70b0
mov ecx, eax
mov edi, edx
mov edx, 0x15180
mul edx
mov dword [esp + 4], eax
mov eax, edx
mov edx, edi
imul edi, edi, 0x15180
add edi, eax
sub esi, dword [esp + 4]
sbb ebx, edi
mov edi, 0x15180
mov eax, ebx
sar eax, 0x1f
add ecx, eax
adc eax, edx
add edi, esi
test ebx, ebx
cmovns edi, esi
mov edx, ecx
sar edx, 0x1f
xor edx, eax
jne 0x41cc66
add ecx, 0xaf93b
jo 0x41cc66
add ecx, 0x16d
jo 0x41cc66
mov esi, 0x23ab1
mov eax, ecx
cdq
idiv esi
mov ebx, eax
mov ecx, edx
sar ecx, 0x1f
add ebx, ecx
and ecx, esi
add ecx, edx
call fcn.0041a0c4
mov esi, eax
mov dword [esp + 4], edx
mov ecx, eax
call fcn.0041c11e
imul ecx, ebx, 0x190
add ecx, esi
movzx eax, al
mov edx, dword [esp + 4]
push eax
call fcn.0041c13f
pop ecx
cmp eax, 1
jne 0x41cc66
mov dword [esp + 0x10], edi
and dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
movups xmm0, xmmword [esp + 0x128]
movups xmm1, xmmword [esp + 0x138]
movups xmm2, xmmword [esp + 0x148]
movups xmm3, xmmword [esp + 0x158]
mov dword [esp + 4], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0xf4], eax
mov dword [esp + 0x3c], eax
movups xmmword [esp + 0x40], xmm0
movups xmmword [esp + 0x50], xmm1
movups xmmword [esp + 0x60], xmm2
movups xmmword [esp + 0x70], xmm3
mov eax, dword [esp + 0x168]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x84], eax
mov al, byte [esp + 0x1b0]
mov byte [esp + 0xc8], al
movups xmm0, xmmword [esp + 0x178]
movups xmm1, xmmword [esp + 0x188]
movups xmm2, xmmword [esp + 0x1a0]
mov eax, dword [esp + 0x170]
mov dword [esp + 0xf8], eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0xf0], eax
mov dword [esp + 0x8c], eax
movups xmmword [esp + 0x90], xmm0
movups xmmword [esp + 0xa0], xmm1
mov ebx, dword [esp + 0x198]
mov dword [esp + 0xb0], ebx
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0xb4], ecx
movups xmmword [esp + 0xb8], xmm2
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
push 0x3c
pop esi
mov eax, edi
xor edx, edx
div esi
test ebx, ebx
je 0x41ccea
cmp ecx, 0x3c
jne 0x41ccea
test edx, edx
je 0x41cd0e
mov al, 1
cmp edx, 0x3b
je 0x41cd53
jmp 0x41cc68
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edi
lea eax, [ebx - 0x15180]
cmp eax, 0xfffd5d01
jb 0x41cc66
mov eax, dword [esp + 0x104]
lea edi, [esp + 0xd0]
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0xfc]
movsd qword [edi], xmm0
mov edx, ebx
sar edx, 0x1f
mov ecx, ebx
call fcn.0041a7eb
mov esi, edx
lea ecx, [esp + 0x28]
mov edx, edi
push esi
push eax
call fcn.0041d97a
pop eax
pop ecx
lea eax, [esp + 0x28]
cmp dword [eax], 0
je 0x41cc66
lea esi, [esp + 0x2c]
lea edx, [esp + 0xfc]
mov ecx, esi
push ebx
call fcn.0041a126
pop eax
movups xmm0, xmmword [esi]
mov eax, dword [esp + 0x24]
movups xmmword [eax + 4], xmm0
mov byte [eax], 0
jmp 0x41cce2
xor eax, eax
mov ecx, dword [esp + 0x24]
mov byte [ecx + 1], al
mov byte [ecx], 1
jmp 0x41cce2
test cl, cl
je 0x41ccb6
mov al, byte [esp + 0x109]
jmp 0x41cc68
mov eax, dword [esp + 0x24]
mov word [eax], 0x201
jmp 0x41cce2
add eax, 1
adc edx, 0
xor edi, eax
xor esi, edx
or esi, edi
mov al, 1
mov ebx, dword [esp + 8]
jne 0x41cc68
mov ecx, dword [esp + 0xc]
cmp ecx, 0x3b9ac9ff
mov edi, dword [esp + 0x20]
ja 0x41cbd8
jmp 0x41cc68
test al, al
je 0x41ce6f
mov al, byte [esp + 0xe5]
jmp 0x41cc68
mov eax, dword [esp + 0x24]
mov byte [eax + 1], bl
mov byte [eax], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test ebx, ebx
je 0x41ccfa
mov al, 1
cmp ecx, edx
jne 0x41cc68
jmp 0x41cd53
mov dword [esp + 0xb0], 1
mov dword [esp + 0xb4], edx
jmp 0x41cd53
xor ecx, ecx
inc ecx
xor edx, edx
call fcn.0041a7eb
mov ebx, edx
lea edi, [esp + 0xd0]
lea edx, [esp + 0x10]
mov ecx, edi
push ebx
push eax
call fcn.0041d97a
pop eax
pop ecx
cmp dword [edi], 0
je 0x41ce84
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x18], eax
movsd xmm0, qword [esp + 0xd4]
movsd qword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x18]
mov edx, ecx
sar edx, 0xd
cmp dword [esp + 4], 0
je 0x41cd74
mov al, 1
cmp dword [esp + 0xf4], edx
jne 0x41cc68
jmp 0x41cd80
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], edx
shr ecx, 4
and ecx, 0x1ff
cmp dword [esp + 0xf8], 0
je 0x41cda4
mov al, 1
cmp dword [esp + 0xf0], ecx
jne 0x41cc68
jmp 0x41cdb6
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], ecx
mov edi, dword [esp + 0x10]
mov ecx, 0xe10
mov eax, edi
xor edx, edx
div ecx
push 0
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0041a964
add esp, 0xc
cmp al, 8
jne 0x41cc68
mov eax, edi
xor edx, edx
push 0x3c
pop ecx
div ecx
xor edx, edx
div ecx
cmp dword [esp + 0xa8], 0
je 0x41ce05
mov al, 1
cmp dword [esp + 0xac], edx
jne 0x41cc68
jmp 0x41ce17
mov dword [esp + 0xa8], 1
mov dword [esp + 0xac], edx
lea esi, [esp + 0xd0]
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.0041a1da
cmp byte [esi], 0
jne 0x41ce48
lea esi, [esp + 0xd0]
mov edi, dword [esi + 4]
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.0041a858
cmp byte [esi], 0
je 0x41ce54
mov al, byte [esp + 0xd1]
jmp 0x41cc68
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 8]
jmp 0x41cbd8
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeP
push 0x50ed1c
call fcn.00506cd0
pop eax
ud2
push 0x25
pop edx
mov ecx, str._NaiveDateTime___Duration__overflowed
push 0x50ef3c
call fcn.00507030
jmp 0x41ce81